Strukturni Query Language nudi korisnicima baza podataka moćan i fleksibilni mehanizam za pronalaženje podataka - SELECT izraz. U ovom članku ćemo pogledati opšti oblik SELECT izraza i sastaviti nekoliko primjeraka baze podataka zajedno. Ako je ovo vaš prvi preokret u svijet Structured Query jezika, možda ćete želeti da pregledate članak SQL osnove pre nastavka.
Ako tražite da dizajnirate novu bazu podataka iz nule, članak Kreiranje baza podataka i tabela u SQL-u bi trebalo da bude dobra skakačica.
Sada, kada ste se bacili na osnove, počnimo sa istraživanjem SELECT izraza. Kao i kod prethodnih lekcija SQL , nastavićemo da koristimo izjave koje su u skladu sa ANSI SQL standardom. Možda želite da konsultujete dokumentaciju za vašu DBMS da biste utvrdili da li podržava napredne opcije koje mogu povećati efikasnost i / ili efikasnost vašeg SQL koda.
Opšti oblik izjave SELECT-a
Opšti oblik izjave SELECT se pojavljuje ispod:
SELECT select_list
IZ IZVORA
KUVE (e) stanje (e)
GROUP BY izraz
HAVING stanje
ORDER BY izraz
Prva linija izjave govori SQL procesoru da je ova naredba SELECT izraz i da želimo izvući podatke iz baze podataka. Select_list nam dozvoljava da odredimo vrstu informacija koje želimo da preuzmemo.
Klauzula FROM u drugoj liniji specificira specifičnu bazu podataka (tabela) baze podataka i WHERE klauzula nam daje mogućnost da ograničimo rezultate na one koji ispunjavaju navedene uslove . Konačne tri klauzule predstavljaju napredne funkcije van okvira ovog članka - istražićemo ih u budućim članovima SQL-a.
Najlakši način za učenje SQL-a je primer. Imajući to u vidu, da počnemo gledati neke upite u bazu podataka. Kroz ovaj članak koristićemo tabelu zaposlenog iz izmišljene baze podataka o ljudskim resursima XYZ Corporation kako bismo ilustrovali sve naše upite. Evo celokupnog stola:
EmployeeID | Prezime | Ime | Plata | ReportsTo |
1 | Smith | John | 32000 | 2 |
2 | Scampi | Sue | 45000 | NULL |
3 | Kendall | Tom | 29500 | 2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Bill | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |
Preuzimanje celokupnog stola
Direktor za ljudske resurse XYZ korporacije prima mesečni izveštaj koji daje podatke o platama i izveštavanju za svakog zaposlenog u kompaniji. Generisanje ovog izveštaja je primer najjednostavnije forme SELECT izraza. Ona jednostavno preuzima sve informacije sadržane u tabeli baze podataka - svaku kolonu i svaki red. Evo upita koji će ostvariti ovaj rezultat:
SELECT *
OD zaposlenih
Prilično jednostavno, zar ne? Zvezdica (*) koja se pojavljuje u listi select_list je džoker koji se koristi za informisanje baze podataka o tome da želimo da preuzmemo informacije iz svih stupaca u tabeli zaposlenog identifikovanom u klauzuli FROM. Želeli smo da preuzmemo sve informacije u bazi podataka, tako da nije bilo potrebno koristiti klauzulu WHERE da ograničite redove izabrane iz tabele.
Evo kako rezultati našeg upita izgledaju:
EmployeeID | Prezime | Ime | Plata | ReportsTo |
---------- | -------- | --------- | ------ | --------- |
1 | Smith | John | 32000 | 2 |
2 | Scampi | Sue | 45000 | NULL |
3 | Kendall | Tom | 29500 | 2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Bill | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |