În majoritatea cazurilor, este necesar să nu se primească toate înregistrările, ci doar cele care îndeplinesc anumite criterii. Prin urmare, pentru a efectua filtrarea eșantionului în SQL, există o clauză specială WHERE.
1. Filtrare simplă prin clauza WHERE.
Să luăm de la masa noastră, de exemplu, să selectăm înregistrări legate numai de un anumit produs. Pentru aceasta, specificăm un parametru suplimentar de selecție care va filtra valoarea din coloana Produs.
Exemplu de interogare pentru selectarea valorilor textului:
După cum puteți vedea, condiția de selecție este luată în citate simple, care este obligatorie atunci când filtrați valorile textului. Când filtrați valori numerice, nu sunt necesare citate.
Exemplu de interogare pentru a selecta valorile numerice:
În acest exemplu, am selectat înregistrări în care venitul din vânzări era mai mare de 40.000 USD și, în plus, toate intrările au fost sortate în ordine crescătoare în câmpul Sumă.
Tabelul de mai jos listează instrucțiunile condiționale acceptate de SQL.
2. Filtrați pe gama de valori (BETWEEN).
Ordinea de sortare va depinde de ordinea câmpurilor din interogare. Aceasta este, în cazul nostru, datele vor fi mai întâi sortate după coloana Sumă. și apoi pe City.
3. Selectarea înregistrărilor goale (IS NULL).
În SQL, există un operator special pentru recuperarea înregistrărilor goale (numit NULL). O înregistrare goală este orice celulă din tabel care nu conține caractere. Dacă în celulă este introdus un spațiu sau un spațiu. atunci se consideră că câmpul este umplut.
În exemplul de mai sus, am șters în mod intenționat două valori în câmpul Sumă. pentru a demonstra funcționarea operatorului NULL.
4. Filtrarea avansată (AND, OR).
Limba SQL nu se limitează la filtrarea cu o singură condiție, pentru scopurile proprii puteți utiliza construcții destul de complexe pentru a prelua date simultan prin mai multe criterii. Pentru a face acest lucru, SQL are operatori suplimentari care extind capabilitățile clauzei WHERE. Acești operatori sunt: ȘI, SAU, ÎN, NU. Iată câteva exemple ale activității acestor operatori.
Deci, pentru a obține selecția corectă, trebuie să schimbăm prioritățile comenzilor. Pentru a face acest lucru, folosim paranteze. ca și în matematică. Apoi, mai întâi operatorii din paranteze vor fi procesați și apoi vor fi procesate toate celelalte.
5. Filtrare avansată (operator IN).
6. Filtrare extinsă (operator NOT).
Cuvântul NOT vă permite să eliminați valorile inutile din eșantion. De asemenea, particularitatea sa este că este plasată înaintea numelui coloanei implicate în filtrare și nu după.