Struktūruota užklausų kalba siūlo duomenų bazės vartotojams galingą ir lanksčią duomenų paieškos mechanizmą - SELECT sakinį. Šiame straipsnyje mes apžvelgsime bendrą SELECT sakinio formą ir kartu sukursime keletą pavyzdinių duomenų bazių užklausų. Jei tai yra jūsų pirmasis žygis į struktūrinės užklausos kalbos pasaulį, galbūt norėsite jį peržiūrėti SQL pagrindai prieš tęsdamas. Jei norite kurti naują duomenų bazę nuo nulio, sužinokite, kaip tai padaryti kurti duomenų bazes ir lenteles SQL turėtų įrodyti gerą peršokimo tašką.
Dabar, kai papildysite pagrindus, pradėkime SELECT teiginio tyrimą. Kaip ir ankstesnėse SQL pamokose, mes ir toliau naudosime sakinius, atitinkančius ANSI SQL standartą. Galbūt norėsite sužinoti savo DBVS dokumentaciją ir nustatyti, ar joje palaikomos išplėstinės parinktys, galinčios padidinti jūsų SQL kodo efektyvumą ir (arba) efektyvumą.
Bendroji „SELECT“ pareiškimo forma
Toliau pateikiama bendroji SELECT sakinio forma:
PASIRINKTI select_list
NUO šaltinis
KUR sąlygos)
GRUPUOTI PAGAL išraiška
TURI būklė
RŪŠIUOTI PAGAL išraiška
Pirmoje sakinio eilutėje SQL procesoriui nurodoma, kad ši komanda yra a PASIRINKTI pareiškimą ir kad mes norime gauti informaciją iš duomenų bazės. select_list leidžia mums nurodyti informacijos, kurią norime gauti, tipą. NUO antrosios eilutės sąlyga nurodo konkrečią (-as) duomenų bazės lentelę (-es) ir KUR išlyga suteikia mums galimybę apriboti rezultatus tik tiems įrašams, kurie atitinka nurodytus sąlygos). Paskutinės trys sąlygos atspindi pažangias funkcijas, kurios nepatenka į šio straipsnio taikymo sritį - jas nagrinėsime būsimuose SQL straipsniuose.
Lengviausias būdas išmokti SQL yra pavyzdys. Atsižvelgdami į tai, pradėkime ieškoti kai kurių duomenų bazių užklausų. Šiame straipsnyje mes naudosime darbuotojo lentelę iš išgalvotos „XYZ Corporation“ žmogiškųjų išteklių duomenų bazės, kad iliustruotume visas savo užklausas. Čia yra visa lentelė:
Darbuotojo ID |
Pavardė |
Pirmas vardas |
Atlyginimas |
Pranešti |
1 |
Kalvis |
Jonas |
32000 |
2 |
2 |
Scampi |
iškelti bylą |
45000 |
NULL |
3 |
Kendall |
Tomas |
29500 |
2 |
4 | Jonesas | Abraomas | 35000 | 2 |
5 | Alenas | Billas | 17250 | 4 |
6 | Reinoldas | Alisonas | 19500 | 4 |
7 | Johnsonas | Katie | 21000 | 3 |
Gaunama visa lentelė
„XYZ Corporation“ žmogiškųjų išteklių direktorius gauna mėnesinę ataskaitą, kurioje pateikiama atlyginimo ir kiekvieno įmonės darbuotojo ataskaitų teikimo informacija. Šios ataskaitos generavimas yra paprasčiausio „SELECT“ sakinio formos pavyzdys. Tai tiesiog nuskaito visą informaciją, esančią duomenų bazės lentelėje - kiekviename stulpelyje ir kiekvienoje eilutėje. Štai užklausa, kuri padės pasiekti šį rezultatą:
PASIRINKTI *
IŠ darbuotojų.
Gana paprasta, tiesa? Žvaigždutė (*), esanti select_list yra pakaitos simbolis, naudojamas informuoti duomenų bazę, kad norėtume gauti informaciją iš visų darbuotojo lentelės stulpelių, nurodytų FROM sąlygoje. Norėjome gauti visą informaciją, esančią duomenų bazėje, todėl norint apriboti lentelėje pasirinktas eilutes nebuvo būtina naudoti WHERE sąlygą. Š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 | Kendall | Tomas | 29500 | 2 |
4 | Jonesas | Abraomas | 35000 | 2 |
5 | Alenas | Billas | 17250 | 4 |
6 | Reinoldas | Alisonas | 19500 | 4 |
7 | Johnsonas | Katie | 21000 | 3 |