Strukturētais vaicājuma valoda piedāvā datubāzes lietotājiem spēcīgu un elastīgu datu izguves mehānismu - SELECT paziņojumu. Šajā rakstā mēs apskatīsim SELECT paziņojuma vispārējo formu un kopā izveidosim dažus datu bāzu vaicājumus. Ja šī ir jūsu pirmā ieņemšana Strukturēto vaicājumu valodas pasaulē, pirms turpināt, iespējams, vēlēsities pārskatīt rakstu SQL pamatprincipus .
Ja jūs vēlaties izveidot jaunu datubāzi no sākuma, raksts SQL datubāzu un tabulu izveidei vajadzētu izrādīties labs izņēmuma punkts.
Tagad, kad esat pamīšus pamatus, sāksim izpētīt SELECT paziņojumu. Tāpat kā iepriekšējās SQL stundās, mēs turpināsim izmantot paziņojumus, kas atbilst ANSI SQL standartam. Iespējams, vēlēsities iepazīties ar jūsu DBV dokumentāciju, lai noteiktu, vai tā atbalsta uzlabotas iespējas, kas var uzlabot SQL koda efektivitāti un / vai efektivitāti.
SELECT paziņojuma vispārējā forma
Zemāk redzama vispārējā SELECT paziņojuma forma:
SELECT select_list
NO avota
KAS nosacījums (-i)
GROUP BY izteiksme
Kam ir stāvoklis
ORDER BY izteiksme
Izraksta pirmajā rindā SQL procesors paziņo, ka šī komanda ir SELECT paziņojums un ka mēs vēlamies iegūt informāciju no datubāzes. Atlasītais saraksts ļauj mums norādīt informācijas veidu, kuru mēs vēlamies ielādēt.
Otrajā rindiņā " FROM " ir norādīta konkrētā datubāzes tabula (-s), un WHERE klauzula dod mums iespēju ierobežot rezultātus tiem ierakstiem, kas atbilst konkrētajam (-iem) nosacījumam (-iem) . Pēdējās trīs klauzulas ir papildinātas funkcijas ārpus šī raksta darbības jomas - mēs tos izpētīsim turpmākajos SQL rakstos.
Vieglākais veids, kā iemācīties SQL, ir piemērs. Paturot to prātā, sākam apskatīt dažus datu bāzes vaicājumus. Šajā rakstā mēs izmantosim darbinieka tabulu no izdomātās XYZ Corporation cilvēkresursu datubāzes, lai ilustrētu visus mūsu jautājumus. Lūk, viss galds:
Darbinieka ID | Uzvārds | Vārds | Alga | ReportsTo |
1 | Smits | Džons | 32000 | 2 |
2 | Scampi | iesūdzēt | 45000 | NULL |
3 | Kendall | Toms | 29500 | 2 |
4 | Joness | Ābrahams | 35000 | 2 |
5 | Allens | Bill | 17250 | 4 |
6 | Reinolds | Allisona | 19500 | 4 |
7 | Džonsons | Katie | 21000 | 3 |
Iegūstiet visu tabulu
XYZ Corporation Cilvēkresursu direktors saņem ikmēneša ziņojumu par algas un ziņošanas informāciju par katru uzņēmuma darbinieku. Šī pārskata veidošana ir SELECT pārskata vienkāršākās veidlapas piemērs. Tas vienkārši izgūst visu informāciju, kas atrodas datu bāzes tabulā - katrā kolonnā un katrā rindā. Šis ir vaicājums, kas veiks šo rezultātu:
SELECT *
NO darbiniekiem
Diezgan vienkārši, vai ne? Zvaigznīte (*), kas parādās izvēlnē select_list, ir aizstājējzīme, ko izmanto, lai informētu datubāzi, ka mēs vēlētos iegūt informāciju no visām slejām no darbinieku tabulas, kas norādīta klajā FROM. Mēs vēlējāmies iegūt visu informāciju datubāzē, tāpēc nebija jāizmanto WHERE klauzula, lai ierobežotu no tabulas atlasītās rindas.
Lūk, kādi ir mūsu vaicājuma rezultāti:
Darbinieka ID | Uzvārds | Vārds | Alga | ReportsTo |
---------- | -------- | --------- | ------ | --------- |
1 | Smits | Džons | 32000 | 2 |
2 | Scampi | iesūdzēt | 45000 | NULL |
3 | Kendall | Toms | 29500 | 2 |
4 | Joness | Ābrahams | 35000 | 2 |
5 | Allens | Bill | 17250 | 4 |
6 | Reinolds | Allisona | 19500 | 4 |
7 | Džonsons | Katie | 21000 | 3 |