子查询的结果被主查询使用 (外查询)。
子查询要包含在括号内。
将子查询放在比较条件的右侧。
单行操作符对应单行子查询,多行操作符对应多行子查询。
单行子查询:
只返回一行,使用单行比较操作符
=, <> ,>=,<=,<,>
SELECT last_name, job_id, salary
FROM employees
WHERE job_id =
(SELECT job_id
FROM employees
WHERE employee_id = 141)
AND salary >
(SELECT salary
FROM employees
WHERE employee_id = 143);
子查询中的 HAVING 子句
首先执行子查询。
向主查询中的HAVING 子句返回结果。
SELECT department_id, MIN(salary)
FROM employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
FROM employees
WHERE department_id = 50)