Acesta este un articol dintr-un set de articole despre Access SQL. Acest articol descrie modalitatea de scriere a unei clauze WHERE și utilizează exemple pentru a ilustra diferite tehnici pe care le puteți utiliza într-o clauză WHERE.
Într-o instrucțiune SQL, clauza WHERE specifică criteriile pe care trebuie să le îndeplinească valorile de câmp pentru înregistrările care conțin valorile de inclus în rezultatele interogării.
Pentru o prezentare generală a Access SQL, consultați articolul Access SQL: concepte de bază, vocabular și sintaxă.
În acest articol
- Limitarea rezultatelor utilizând criterii
- Sintaxa clauzei WHERE
- Utilizarea clauzei WHERE pentru a combina surse de date
Limitarea rezultatelor utilizând criterii
Când doriți să utilizați date pentru a limita numărul de înregistrări returnate într-o interogare, puteți utiliza criterii. Un criteriu de interogare este similar cu o formulă: este un șir de caractere care poate consta în referințe de câmp, operatori și constante. Criteriile de interogare sunt un tip de expresii.
Tabelul de mai jos afișează câteva exemple de criterii și explică modul în care acestea funcționează.
| Criterii | Descriere |
|---|---|
| >25 and <50 | Acest criteriu se aplică la un câmp numeric, cum ar fi Preț sau UnitățiÎnStoc. El include doar înregistrările în care câmpul Preț sau UnitățiÎnStoc conține o valoare mai mare decât 25 și mai mică decât 50. |
| DateDiff ("yyyy", [DataNașterii], Date()) > 30 | Acest criteriu se aplică la un câmp Dată/oră, cum ar fi DataNașterii. În rezultatul interogării sunt incluse doar înregistrările în care numărul de ani între data nașterii unei persoane și data de astăzi este mai mare decât 30. |
| Is Null | Acest criteriu poate fi aplicat la orice tip de câmp pentru a afișa înregistrările în care valoarea câmpului este nulă. |
Așa cum arată și tabelul anterior, criteriile pot fi diferite, în funcție de tipul de date al câmpului pentru care se aplică și de cerințele dvs. Unele criterii sunt simple și utilizează operatori și constante de bază. Altele sunt complexe și utilizează funcții și operatori speciali și includ referințe la câmpuri.
Important
Dacă un câmp este utilizat cu o funcție agregată, nu puteți să specificați criterii pentru acel câmp într-o clauză WHERE. În schimb, utilizați o clauză HAVING pentru a specifica criteriile pentru câmpurile agregate. Pentru mai multe informații, consultați articolele Access SQL: concepte de bază, vocabular și sintaxă și Clauza HAVING.
Sintaxa clauzei WHERE
Utilizați criterii de interogare în clauza WHERE a unei instrucțiuni SELECT.
O clauză WHERE are următoarea sintaxă de bază:
WHERE field = criterion
De exemplu, să presupunem că doriți numărul de telefon al unui client, dar ați reținut doar că numele de familie al clientului este Calinov. În loc să vă uitați prin toate numerele de telefon din baza de date, aveți posibilitatea să utilizați o clauză WHERE pentru a limita rezultatele și a facilita găsirea numărului de telefon dorit. Presupunând că numele de familie sunt depozitate într-un câmp denumit NumeDeFamilie, clauza dvs. WHERE va apărea astfel:
WHERE [LastName]='Bagel'
Notă
Nu este necesar să bazați criteriile din clauza WHERE pe echivalența valorilor. Puteți utiliza alți operatori de comparație, cum ar fi mai mare decât (>) sau mai mic decât (<). De exemplu, WHERE [Preț]>100.
Utilizarea clauzei WHERE pentru a combina surse de date
Uneori, este posibil să doriți să combinați sursele de date pe baza câmpurilor care au date corespondente, dar tipuri de date diferite. De exemplu, un câmp dintr-un tabel poate avea un tip de date Număr și doriți să comparați câmpul respectiv cu un câmp din alt tabel care are un tip de date Text.
Nu puteți crea o unire între câmpuri care au tipuri diferite de date. Pentru a combina date de la două surse de date pe baza valorilor din câmpuri care au tipuri diferite de date, creați o clauză WHERE care utilizează un câmp drept criteriu pentru celălalt câmp, utilizând cuvântul cheie LIKE.
De exemplu, să presupunem că doriți să utilizați datele din tabel1 și tabel2, dar doar atunci când datele din câmp1 (un câmp text din tabel1) se potrivesc cu datele din câmp2 (un câmp numeric din tabel2). Clauza WHERE ar arăta astfel:
WHERE field1 LIKE field2
Pentru mai multe informații despre crearea criteriilor de utilizat într-o clauză WHERE, consultați articolul Exemple de criterii de interogare.