Single-row

Single-row subquery's geven maar één rij terug.

Ze gebruiken single-row vergelijkingsoperatoren:

 =

 >

 >=

 <=

 <>

De subquery komt tussen haakjes.

Voor de bovenste en de onderste query kun je verschillende tabellen gebruiken.

Je mag maar één keer ORDER BY gebruiken en dat moet de laatste regel zijn van de bovenste query (main SELECT statement). Die komt dus helemaal onderaan.

 

 

Wie werkt er allemaal op de afdeling Marketing? Dat zijn de personen met hetzelfde department_id, het department_id van de afdeling Marketing.

 

Eerst haal je dus het department_id op van de afdeling Marketing. Dat staat in de tabel departments.

 

SELECT department_id

FROM departments

WHERE department_name = 'Marketing'

 

clip0191

 

Zet die query tussen haakjes en zet er een andere query voor. Voor de duidelijkheid laten we de subquery inspringen.

 

SELECT last_name, job_id, department_id

FROM employees

WHERE department_id =

 (SELECT department_id

 FROM departments

 WHERE department_name = 'Marketing')

ORDER BY job_id;

 

clip0192

 

Je kunt meerdere subquery's gebruiken.

 

SELECT last_name, job_id, salary, department_id

FROM employees

WHERE job_id =

 (SELECT job_id

 FROM employees

 WHERE employee_id = 141)

AND department_id =

 (SELECT department_id

 FROM departments

 WHERE location_id = 1500);

 

clip0193