Recuperarea datelor cu interogări SQL: Introducerea declarației SELECT

Limbajul de interogare structurat oferă utilizatorilor bazei de date un mecanism puternic și flexibil de recuperare a datelor - instrucțiunea SELECT. În acest articol, vom examina forma generală a instrucțiunii SELECT și vom compune împreună câteva exemple de interogări de bază de date. Dacă aceasta este prima dvs. incursiune în lumea limbii structurate de interogări, vă recomandăm să revizuiți articolul Fundamentals SQL înainte de a continua.

Dacă doriți să creați o nouă bază de date de la zero, articolul Crearea de baze de date și tabele în SQL ar trebui să se dovedească un bun punct de sărituri.

Acum, că ați citit notițele de bază, să începem să explorăm declarația SELECT. Ca și în cazul lecțiilor SQL anterioare, vom continua să folosim instrucțiuni compatibile cu standardul ANSI SQL. Poate doriți să consultați documentația pentru sistemul DBMS pentru a determina dacă suportă opțiuni avansate care pot spori eficiența și / sau eficacitatea codului dvs. SQL.

Forma generală a declarației SELECT

Forma generală a instrucțiunii SELECT apare mai jos:

SELECT select_list
Din sursa
WHERE condițiile (condițiile)
GROUP BY expression
HAVING condiție
ORDER BY expression

Primul rând al instrucțiunii indică procesorului SQL că această comandă este o instrucțiune SELECT și că dorim să preluăm informații dintr-o bază de date. Lista de selectare ne permite să specificăm tipul de informații pe care dorim să le preluăm .

Clauza FROM din linia a doua specifică tabela specifică de baze de date implicate, iar clauza WHERE ne dă posibilitatea de a limita rezultatele la acele înregistrări care îndeplinesc condiția (condițiile) specificată . Cele trei clauze finale reprezintă funcții avansate în afara domeniului de aplicare al acestui articol - le vom explora în articolele SQL ulterioare.

Cel mai simplu mod de a învăța SQL este prin exemplu. În acest sens, să începem să ne uităm la unele interogări de bază de date. În tot acest articol, vom folosi tabelul angajatului din baza de date fizițională XYZ Corporation pentru a ilustra toate întrebările noastre. Iată întregul tabel:

Card de identitate al angajatului

Numele de familie

Nume

Salariu

Raportează către

1

fierar

Ioan

32000

2

2

Scampi

a da in judecata

45000

NUL

3

Kendall

Tom

29500

2

4 Jones Avraam 35,000 2
5 Allen Factură 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3

Preluarea unei întregi mese

Directorul de resurse umane al XYZ Corporation primește un raport lunar care oferă informații salariale și de raportare pentru fiecare angajat al companiei. Generarea acestui raport este un exemplu de forma cea mai simplă a instrucțiunii SELECT. Pur și simplu recuperează toate informațiile conținute într-o tabelă de baze de date - fiecare coloană și fiecare rând. Iată interogarea care va realiza acest rezultat:

SELECTAȚI *
De la angajați

Destul de simplu, nu? Asteriscul (*) care apare în lista select_list este un metacaracter utilizat pentru a informa baza de date că dorim să preluăm informații din toate coloanele din tabelul angajatului identificate în clauza FROM. Am dorit să preluăm toate informațiile din baza de date, astfel încât nu era necesar să folosim o clauză WHERE pentru a restricționa rândurile selectate din tabel.

Iată ce arată rezultatele interogării:

Card de identitate al angajatului Numele de familie Nume Salariu Raportează către
---------- -------- --------- ------ ---------
1 fierar Ioan 32000 2
2 Scampi a da in judecata 45000 NUL
3 Kendall Tom 29500 2
4 Jones Avraam 35,000 2
5 Allen Factură 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3