【发布时间】:2013-02-25 10:40:58
【问题描述】:
谁能解释一下为什么下面的 SQL 中有两个不同的结果集。
SQL 1-
SELECT e.employee_id,e.first_name,
e.department_id,
d.department_id,
d.department_name
FROM employees e RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id) where d.department_name='Treasury';
结果:仅 d.department_name='Treasury' 的记录。
SQL 2-
SELECT e.employee_id,e.first_name,
e.department_id,`enter code here`
d.department_id,
d.department_name
FROM employees e RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id) and d.department_name='Treasury';
结果:包含所有 d.deparment_name 值的记录。
【问题讨论】:
-
您是否尝试过比较每个查询的结果有无
d.department_name='Treasury'条件?
标签: sql join where-clause