Subinterogari care implica mai multe coloane
Se utilizeaza cand este necesara compararea a doua sau mai
multe coloane. Acest lucru implica scrierea in clauza WHERE a unei conditii
compuse prin intermediul oparatorilor logici.Prin utilizarea subinterogarilor
pe mai multe coloane, se pot combina conditii WHERE duplicate intr-o singura
clauza WHERE.
Sintaxa:
SELECT col1, col2, ....coln
FROM tabel
WHERE (coli, colj,...)
IN
(SELECT coli, colj, ...
FROM tabel
WHERE conditii );
Compararea coloanelor in subinterogarile pe mai multe coloane
poate fi facuta imperecheat sau neimperecheat.
Subinterogari cu comparatii imperecheate
Exemplu: Sa se afiseze detalii despre angajatii care
sunt subordonati aceluiasi manager si lucreazã
in acelasi departament ca angajatul cu identificatorul
178 sau 174.
SELECT emplozee_id, manager_id, department_id
FROM employees
WHERE (manager_id,
department_id) IN
(SELECT manager_id, department_id
FROM employees
WHERE employee_id IN (178,174))
AND employee_id
NOT IN (178,174);
Subinterogari cu comparatii neimperecheate
Exemplu: Sa se afiseze detalii despre angajatii care
sunt subordonati aceluiasi manager ca angajatul cu identificatorul
174 sau 141 si lucreazã in acelasi departament ca
angajazul cu identificatorul 174 sau 141.
SELECT emplozee_id, manager_id, department_id
FROM employees
WHERE manager_id
IN
(SELECT manager_id
FROM employees
WHERE employee_id IN (174,141))
AND department_id
IN
(SELECT department_id
FROM employees
WHERE employee_id IN (174,141))
AND employee_id
NOT IN (174,141);