Struktūrinių užklausų kalba siūlo duomenų bazės vartotojams galingą ir lankstų duomenų paieškos priemonę - SELECT teiginį. Šiame straipsnyje mes apžvelgsime bendrą SELECT pareiškimo formą ir kartu suformuosime keletą bandinių duomenų bazių užklausų. Jei tai yra jūsų pirmasis įvykis į struktūrizuotų užklausų kalbos pasaulį, galbūt norėsite peržiūrėti straipsnį "SQL pagrindai" prieš tęsdami.
Jei norite sukurti naują duomenų bazę nuo nulio, straipsnis "SQL duomenų bazių ir lentelių kūrimas" turėtų pasirodyti esąs geras iššūkis.
Dabar, kai jūs sukūrėte pagrindą, pradėkime tyrinėti SELECT teiginį. Kaip ir ankstesnėse SQL pamokose, mes ir toliau naudosime pareiškimus, atitinkančius ANSI SQL standartą. Galbūt norėsite sužinoti savo DBV dokumentaciją, kad nustatytumėte, ar ji palaiko papildomas parinktis, kurios gali pagerinti jūsų SQL kodo efektyvumą ir (arba) efektyvumą.
Bendroji SELECT pareiškimo forma
Žemiau pateikiama bendra SELECT užrašo forma:
SELECT select_list
Iš šaltinio
KAS sąlyga (-os)
GROUP BY išraiška
Turintys sąlygą
ORDER BY išraiška
Pirmoji teiginio eilutė nurodo SQL procesoriui, kad ši komanda yra SELECT, ir kad mes norime gauti informaciją iš duomenų bazės. " Select_list" leidžia mums nurodyti informacijos, kurią norime gauti, tipą.
Antrajame eilutėje esanti klauzė " FROM" nurodo konkrečią duomenų lentelę (-es) ir WHERE sąlygą suteikia mums galimybę apriboti rezultatus tiems įrašams, kurie atitinka nurodytą (-as) sąlygą (-es) . Paskutinės trys sąlygos yra papildomos funkcijos, kurios nepriklauso šio straipsnio taikymo sričiai - mes jas išnagrinėsime būsimuose SQL straipsniuose.
Lengviausias būdas išmokti SQL yra pavyzdys. Atsižvelgdami į tai, pradėkime pamatyti keletą duomenų bazių užklausų. Šiame straipsnyje mes panaudosime darbuotojo stalą iš išgalvotos "XYZ Corporation" žmogiškųjų išteklių duomenų bazės, kad būtų parodytos visos mūsų užduotys. Štai visa lentelė:
Darbuotojo ID | Pavardė | Pirmas vardas | Atlyginimas | Pranešti |
1 | Kalvis | Jonas | 32000 | 2 |
2 | Scampi | iškelti bylą | 45000 | NULL |
3 | Kendallas | Tomas | 29500 | 2 |
4 | Jonesas | Abraomas | 35000 | 2 |
5 | Allenas | Billas | 17250 | 4 |
6 | Reinoldas | Allisonas | 19500 | 4 |
7 | Džonsonas | Katie | 21000 | 3 |
Gaunate visą lentelę
"XYZ Corporation" žmogiškųjų išteklių direktorius gauna mėnesinę ataskaitą, kurioje pateikiama informacija apie atlyginimus ir ataskaitų teikimą kiekvienam įmonės darbuotojui. Šios ataskaitos generavimas yra paprasčiausio SELECT pareiškimo pavyzdys. Jis tiesiog gauna visą informaciją, esančią duomenų bazės lentelėje, kiekviename stulpelyje ir kiekvienoje eilutėje. Štai užklausą, kuri atliks šį rezultatą:
SELECT *
Iš darbuotojų
Gana paprasta, ar ne? Žvaigždutė (*), rodoma select_list, yra pakaitalas, naudojamas informuoti duomenų bazę, kad mes norėtume gauti informaciją iš visų stulpelių, esančių darbuotojo lentelėje, nurodytoje iš straipsnio clause. Mes norėjome išgauti visą informaciją duomenų bazėje, todėl nereikėjo naudoti WHERE sąlygos, norėdami apriboti iš stalo pasirinktas eilutes.
Štai, kaip atrodo mūsų užklausos rezultatai:
Darbuotojo ID | Pavardė | Pirmas vardas | Atlyginimas | Pranešti |
---------- | -------- | --------- | ------ | --------- |
1 | Kalvis | Jonas | 32000 | 2 |
2 | Scampi | iškelti bylą | 45000 | NULL |
3 | Kendallas | Tomas | 29500 | 2 |
4 | Jonesas | Abraomas | 35000 | 2 |
5 | Allenas | Billas | 17250 | 4 |
6 | Reinoldas | Allisonas | 19500 | 4 |
7 | Džonsonas | Katie | 21000 | 3 |