Ebben az oktatóanyagban megtudjuk, hogyan lehet adatokat kinyerni adatbázisokból és különböző táblákból. Az SQL utasítás, amelyet használni fogunk, az SQL SELECT utasítás .
A SELECT utasítás az adatok lekérésére szolgál az adatbázisunkból.
Tartalomjegyzék
Az SQL SELECT utasítás szintaxisa
A táblázat összes oszlopának vagy mezőjének kijelöléséhez a Select * FROM TableName szintaxist kell használnunk . A csillag azt jelenti, hogy egy bizonyos táblából szeretnénk lekérni az összes adatot.

A LuckyTemplates vagy bármely más jelentéskészítő eszközben csak a szükséges adatokat kell megadnunk. Ha nincs szükségünk az összes oszlopra, csak 2 vagy 3 oszlopot hozunk, amire szükségünk van.
Ha nem szeretnénk minden adatot megkapni, akkor meg kell adnunk az oszlop nevét ( Select col1, col2, col3 FROM TableName ). Ha akarunk, megadhatunk egy vagy több oszlopot is.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Például az alkalmazotti táblánkon csak az ID, Név és Cím oszlop adatait szeretnénk lekérni. Ezért csak azt a 3 oszlopot adtuk meg.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Az Alias kulcsszó megértése
Az alias az oszlopok vagy táblázatok ideiglenes nevének beállítására szolgál, hogy olvashatóbbá vagy érthetőbbé tegye őket. Vegye figyelembe, hogy az Alias használata csak abban a konkrét lekérdezésben létezik, ahol használjuk. Ezenkívül nem változtatja meg az adatbázisunkban lévő tényleges oszlop- vagy táblanevet.
Az Alias használatához az AS kulcsszót kell használnunk . Például, ha vannak Oszlop1 és Oszlop2 nevű oszlopaink, akkor ideiglenes nevüket Col1- re és Col22-re állíthatjuk az AS használatával vagy a Column1 AS col1 és Column2 AS col2 szintaxis használatával .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ennek sokkal értelmesebb lesz, ha összetettebb adatbázison dolgozik, ahol az oszlopnevek túl hosszúak és túl általánosak.
A táblanévhez ugyanazt a szintaxist használhatjuk, mint a TableName AS t .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Egy másik ok az Alias használatára a táblanevekhez, ha több, azonos oszlopot tartalmazó táblából választunk ki egy oszlopot. Erről többet tudhat meg a JOIN záradék használatakor.
Tegyük fel például, hogy ki akarjuk bontani az alkalmazotti azonosító oszlopot, de a lekérdezésünk több táblán is kibontásra kerül, például az alkalmazottak és a termékek tábláján. Tehát az Employee azonosító oszlopának kinyeréséhez használhatjuk az általunk beállított ALIAS Employee táblát. Ebben a példában az „ e ” betűt használtuk .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Használhatjuk helyette a teljes táblanevet is. Az Alias használata azonban lerövidíti a kódunkat, különösen, ha összetett táblaneveket tartalmazó összetett adatbázison dolgozunk.
A SELECT TOP záradék és a ORDER BY kulcsszó megértése
A Select TOP záradék a lekérdezés által visszaadni kívánt sorok számának korlátozására vagy megadására szolgál. Tehát megadhatjuk, hogy TOP 10 , TOP 20 vagy TOP 100 , vagy bárhogyan is szeretnénk korlátozni a SELECT lekérdezésünket. Ezt akkor is használjuk, ha csak egy bizonyos tábla szerkezetét akarjuk látni, így nem kell az összes sort vagy adatot látnunk benne.
Például, ha 2 millió sor van az Employee táblánkban, a TOP 100 használata csak 100 sort ad vissza a táblázatunk 2 millió sora helyett.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Másrészt az ORDER BY kulcsszó a lekérdezés eredménye sorrendjének rendezésére szolgál. Igény szerint egy vagy több oszlopra is rendelhetünk. Alapértelmezés szerint a rendezési sorrend növekvő sorrendben lesz.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ha az eredményeket csökkenő sorrendbe szeretnénk rendezni, akkor csak a DESC parancsot kell használnunk.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
SELECT utasítás használata SSMS-en (SQL Server Management Studio)
Te talán .
Ebben a példában csatlakozom az AdventureWorks2012 adatbázishoz, amely a Microsoft mintaadatbázisa.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Először jelöljük ki az összes rekordot a Személy táblából. Tehát csak be kell írnunk a SELECT * FROM Person.Person parancsot .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A lekérdezési parancs végrehajtásához jelölje ki, és kattintson a Végrehajtás gombra.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ezután a lekérdezés eredménye alul jelenik meg. Ebben a példában látni fogjuk, hogy 19 1972 sort vontunk ki a Személy táblából.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ez a rész csak megjegyzés vagy megjegyzés. Tehát még ha ezt kiemeljük is, és végrehajtjuk a lekérdezést, az nem befolyásolja a végrehajtásunkat vagy az eredményünket.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Adott oszlopok kiválasztása SQL SELECT utasítással
A következő lépés bizonyos oszlopok megadása a táblázatunk összes oszlopának kiválasztása helyett. Cseréljük le a * karaktert a Keresztnév , Vezetéknév és EmailPromotion karakterekkel . Ez megint csak bizonyos oszlopok kiválasztására szolgál a Személy táblából.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A végrehajtáshoz egyszerűen jelölje ki, és kattintson ismét a Végrehajtás gombra.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Most az eredmény csak az általam kiválasztott három oszlopot mutatja.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Alias használata
Alias esetén használjuk ugyanazt a parancsot, és az AS kulcsszó használatával állítsuk be a Keresztnév és Vezetéknév oszlop álnevét FName és LNname értékre .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A módosítások végrehajtása után az eredmény a FirstName oszlopot FName néven, a LastName pedig LNname néven fogja megjeleníteni .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A ORDER BY kulcsszó használata
Például korábban szeretnénk az eredményeket növekvő sorrendbe rendezni a Keresztnév oszlop szerint. Amint azt a korábbi eredményeinkből láthattuk, alapértelmezés szerint még nincs rendezve.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ehhez adjuk hozzá a ' ORDER BY FirstName ' szót a lekérdezési parancsunkhoz.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Most hajtsuk végre ezt a lekérdezést, és látni fogjuk, hogy az eredményt a Keresztnév oszlop növekvő sorrendbe rendezi. Alapértelmezés szerint ismét növekvő sorrendben lesz a sorrend, ha nem adjuk meg a rendezési sorrendet.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Tehát még ha a rendezési sorrendet ASC- re vagy növekvő sorrendre adjuk meg , az nem változtatja meg az eredményt.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Most próbáljuk meg a DESC vagy csökkenő sorrendet. Csak adja hozzá vagy módosítsa az ASC-t DESC- re .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Most az eredményt csökkenő sorrendbe rendezi. Mint látható, az eredmény Z- vel kezdődő nevekkel kezdődött .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A Select TOP záradék használata
Ebben a példában vegyük ki az összes adatot a SalesOrderHeader táblából.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A lekérdezési parancs végrehajtása után látni fogjuk, hogy 31 465 sort kapunk. Ez jó. Azonban találkozhatunk olyan táblával, ahol több millió sor van. Ennek eredményeként a végrehajtás hosszú ideig tarthat, és problémákat okozhat.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ideális az eredmények korlátozása ezekre az esetekre. Itt válik hasznossá a Select TOP záradék is. Például korlátozzuk a lekérdezési parancsból visszaadott sorokat 100-ra a TOP 100 hozzáadásával .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Parancsunk végrehajtása után az eredmény azt mutatja, hogy csak 100 sor kerül visszaadásra vagy lehívásra. Ezzel könnyen átláthatjuk egy adott tábla szerkezetét, ha ezt akarjuk.
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Tegyük fel például, hogy a Top 100 eredmény mellett szeretnénk látni a táblázat legkorábbi rekordját is.
Ehhez csak az OrderDate oszlop szerint kell rendeznünk. Tehát csak hozzá kell adnunk az ORDER BY OrderDate lehetőséget .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Ennek eredményeként látni fogjuk, hogy a legkorábbi dátum 2011-05-31 .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
A legújabb rekord megtekintéséhez csak a DESC-t kell használnunk .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Az eredmény pedig megmutatja, hogy a legutóbbi rekord 2014-06-30- án volt .
![SQL SELECT utasítás: Bevezetés SQL SELECT utasítás: Bevezetés]()
Következtetés
Befejezésül megvitattuk az SQL SELECT utasítást és a hozzá kapcsolódó alapvető parancsokat, záradékokat és kulcsszavakat. Megtanultuk, hogyan lehet kivonni az összes rekordot egy táblából, vagy kivonni bizonyos oszlopokat egy táblából a SELECT Top záradék és az ORDER BY kulcsszó használatával.
Azt is megtanultuk, hogyan hozhatunk létre oszlop- és táblázatálneveket az AS kulcsszó használatával. Remélhetőleg sikerült teljesen megértenie ennek az SQL-utasításnak a használatát nem csak az adatok kiválasztására, hanem a kivont adatok vagy sorok korlátozására, valamint az eredmények egy bizonyos oszlop szerinti rendezésére is, növekvő és csökkenő sorrendben.
Minden jót,
Hafiz