Duomenų gavimas naudojant SQL užklausas: pristatymas SELECT

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
š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