Clauza WHERE

Specifică ce înregistrări din tabelele listate în clauza FROM sunt afectate de o instrucțiune SELECT, UPDATE sau DELETE.

Sintaxă

SELECT listăcâmpuri
FROM expresietabel
WHERE criteriu

O instrucțiune SELECT care conține o clauză WHERE are următoarele componente:

Parte

Descriere

listăcâmpuri

Numele câmpului sau câmpurilor de regăsit împreună cu orice aliasuri de nume de câmp, predicate de selecție (ALL, DISTINCT, DISTINCTROW sau TOP) sau alte opțiuni de instrucțiune SELECT.

expresietabel

Numele tabelului sau tabelelor din care se preiau date.

criterii

O expresie pe care înregistrările trebuie s-o îndeplinească pentru a fi incluse în rezultatele interogării.


Observații

Motorul de baze de date Microsoft Access selectează înregistrările care îndeplinesc condițiile listate în clauza WHERE. Dacă nu specificați o clauză WHERE, interogarea returnează toate rândurile din tabel. Dacă specificați mai multe tabele în interogare și nu ați inclus o clauză WHERE sau JOIN, interogarea generează un produs cartezian al tabelelor.

WHERE este opțional, dar atunci când este inclus, urmează după FROM. De exemplu, puteți selecta toți angajații din departamentul de vânzări (WHERE Dept = 'Sales') sau toți clienții cu vârste între 18 și 30 de ani (WHERE Age Between 18 And 30).

Dacă nu utilizați o clauză JOIN pentru a efectua operațiuni de asociere SQL pe mai multe tabele, obiectul Recordset rezultat nu va fi actualizabil.

WHERE este asemănător cu HAVING. WHERE care determină ce înregistrări se selectează. În mod similar, după ce înregistrările sunt grupate cu GROUP BY, HAVING determină ce înregistrări se afișează.

Utilizați clauza WHERE pentru a elimina înregistrările care nu doriți să fie grupate după o clauză GROUP BY.

Utilizați diverse expresii pentru a determina ce înregistrări returnează instrucțiunea SQL. De exemplu, următoarea instrucțiune SQL selectează toți angajații ale căror salarii sunt mai mari de 21.000 lei:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

O clauză WHERE poate conține până la 40 de expresii legate prin operatori logici, cum ar fi And și Or.

Atunci când introduceți un nume de câmp care conține un spațiu sau semne de punctuație, încadrați numele între paranteze drepte ([ ]). De exemplu, un tabel cu informații despre clienți poate include informații despre anumiți clienți:

SELECT [Customer’s Favorite Restarant]

Atunci când specificați argumentul criterii, valorile literale de date trebuie să fie în format SUA, chiar dacă nu utilizați versiunea SUA a motorului de baze de date Microsoft Access. De exemplu, 10 mai 1996 se scrie 10/5/96 în Regatul Unit și 5/10/96 în Statele Unite. Nu uitați să includeți valorile literale de date între semne diez (#), așa cum se arată în exemplele următoare.

Pentru a găsi înregistrările cu data de 10 mai 1996 într-o bază de date din Regatul Unit, trebuie să utilizați următoarea Instrucțiune SQL:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

De asemenea, puteți utiliza funcția DateValue, care recunoaște setările internaționale stabilite de Microsoft Windows®. De exemplu, utilizați acest cod pentru Statele Unite:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

Și acest cod pentru Regatul Unit:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Notă : Dacă coloana menționată în șirul de criterii este de tip GUID , expresia criteriilor utilizează o sintaxă puțin diferită:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Nu uitați să includeți cratimele și parantezele pătrate imbricate așa cum se arată.



Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×