半連線
例如,可以使用半連線查詢來查詢至少有一個薪水超過 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
次。