Welcome to Database Laboratory A. Y. 2025- 26
Welcome to Database Laboratory A. Y. 2025- 26
Here is a complete list of Subqueries and all operators used with subqueries in WHERE clause, clearly separated 👇
Single-row subquery
Multiple-row subquery
Multiple-column subquery
Correlated subquery
Nested subquery
(Used when subquery returns only ONE value)
=
>
<
>=
<=
<>
!=
WHERE salary = (SELECT MAX(salary) FROM employees)
(Used when subquery returns MULTIPLE values)
IN
NOT IN
ANY
SOME
ALL
WHERE department_id IN
(SELECT department_id FROM departments WHERE location = 'New York')
WHERE department_id NOT IN
(SELECT department_id FROM departments WHERE location = 'New York')
Means: Compare with at least one value
WHERE salary > ANY
(SELECT salary FROM employees WHERE department_id = 10)
Same as ANY
WHERE salary > SOME
(SELECT salary FROM employees WHERE department_id = 10)
Means: Compare with all values
WHERE salary > ALL
(SELECT salary FROM employees WHERE department_id = 10)
EXISTS
NOT EXISTS
Returns TRUE if subquery returns any row.
WHERE EXISTS
(SELECT 1 FROM orders WHERE orders.customer_id = customers.customer_id)
WHERE NOT EXISTS
(SELECT 1 FROM orders WHERE orders.customer_id = customers.customer_id)
Used with multiple columns.
WHERE (department_id, job_id) IN
(SELECT department_id, job_id FROM employees)
Subquery depends on outer query.
WHERE salary >
(SELECT AVG(salary)
FROM employees e2
WHERE e2.department_id = e1.department_id)
=, >, <, >=, <=, <>, !=
IN, NOT IN
ANY, SOME, ALL
EXISTS, NOT EXISTS