有人可以解釋爲什麼在以下SQL中有兩個不同的結果集。連接中的WHERE和AND子句之間的區別
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 ='財政部只。
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''條件? – 2013-02-25 15:10:05