从我所了解的关于LEFT OUTER JOIN的所有内容中,您想要可以为空的表应位于等号的右侧.如果是这种情况,为什么这两个查询都返回相同的结果:
SELECT *
FROM employees e
LEFT JOIN cars c ON c.employeeID=e.id AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY e.id ASC;
SELECT *
FROM employees e
LEFT JOIN cars c ON e.id=c.employeeID AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY e.id ASC;
Run Code Online (Sandbox Code Playgroud)
Q1使用A LEFT JOIN B ON A.id = B.id
Q2使用A LEFT JOIN B ON B.id = A.id
您已在ON子句中更改了要比较的项目的LHS和RHS,但LEFT连接正在讨论左侧的TABLE.
所以为了看到差异你会使Q2使用"B LEFT JOIN A ON A.id = B.id"
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |