半连接
例如,可以使用半连接查询来查找至少有一个薪水超过 2500 的员工的所有部门。
SELECT * FROM departments
WHERE EXISTS
(SELECT 1 FROM employees
WHERE departments.department_id = employees.department_id
AND employees.salary > 2500)
ORDER BY department_name;
这比完全加入替代方案更有效,因为内部加入员工然后给出一个详细说明薪水必须大于 2500 的 where 子句可以多次返回同一个部门。如果消防部门的 n
员工都有 3000 工资,select * from departments, employees
与必要的工具加入,我们的 where 子句将返回消防部门 n
次。