interogări sql Subordinate

SELECT declarație care urmează formatul și la normele adoptate pentru declarațiile SELECT. Acesta trebuie să fie închise în paranteze.

Pentru mai multe informații,

Subinterogare poate fi folosit în locul expresiei din lista de câmpuri instrucțiune SELECT, sau în cazul în care și HAVING. Instrucțiunea SELECT este folosită în interogarea secundară pentru a defini un set de valori specifice calculate în clauza WHERE sau propuneri care.

Predicate ORICE, sau unele, sunt sinonime, sunt folosite pentru a selecta înregistrările din interogare principală care satisfac comparația cu toate înregistrările selectate în interogarea secundară. Exemplul următor selectează toate produsele care costa mai mult decât prețul oricărui produs vândut la o reducere de 25 procente sau mai mult:

SELECT * FROM Produse

UNDE Preț> ORICE

(SELECT preț FROM Comandat

UNDE Discount> = .25);

ALL predicat este utilizat pentru selectarea cererii principale doar acele înregistrări care îndeplinesc comparația cu toate înregistrările selectate în interogarea secundară. Dacă în exemplul anterior, înlocui orice predicat predicat TOT, rezultatele interogării vor include doar acele produse al căror preț este mai mare decât prețul tuturor mărfurilor vândute la un discount de 25 sau mai mult. Această condiție este mult mai stricte.

IN predicat este utilizat pentru selectarea cererii principale numai acele înregistrări care conțin aceeași valoare ca una dintre cererea subordonată selectată. Următorul exemplu returnează toate produsele vândute la o reducere mai mare sau egal cu 25 la suta:

SELECT * FROM Produse

UNDE IN ProductID

(SELECT ProductID DIN Comandat

UNDE Discount> = .25);

Pe de altă parte, nu în predicat este utilizat pentru selectarea cererii principale doar acele înregistrări care conțin valori care nu coincid cu oricare din cererea subordonată selectată.

Predicatul EXISTS (opțional cu NOT cuvânt rezervat) este utilizat într-o expresie logică pentru a determina dacă interogarea secundară returna orice înregistrare.

În interogarea secundară, puteți folosi alias-uri de masă pentru a se referi la tabelele enumerate în clauza FROM, care este situată în afara interogării secundare. Exemplul următor selectează numele și numele angajaților al căror salariu este egală sau mai mare decât salariul mediu al salariaților cu aceeași poziție. În acest exemplu, tabelul „Salariați“ a primit porecla de „T1“:

Numele, funcția, salariul

De la angajati AS T1

UNDE T1.Dolzhnost = Sotrudniki.Dolzhnost) Comandă de funcție;

În ultimul exemplu, cuvântul rezervat nu este obligatorie.

Unele subinterogările pot fi utilizate în interogări încrucișate ca predicate (clauza WHERE). solicitări utilizate pentru a afișa Subordinate rezultatelor (din lista SELECT) nu pot fi utilizate în interogări încrucișate.

articole similare