[英]Left Outer Join Table Ordering
从我从LEFT OUTER JOIN中学到的所有知识中,您希望可为空的表应该位于equals符号的右侧。 如果是这种情况,为什么两个查询都返回相同的结果:
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;
Q1在A.id = B.id上使用A LEFT JOIN B
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”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.