left outer join的on不起作用
Posted 技术为王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了left outer join的on不起作用相关的知识,希望对你有一定的参考价值。
left outer join的on不起作用
https://msdn.microsoft.com/zh-cn/library/ms177634.aspx?f=255&MSPPError=-2147217396
https://social.msdn.microsoft.com/Forums/zh-CN/e1198287-96d5-4e9e-b1d0-d2d4f5ba4e20/inner-joinonwhere?forum=sqlserverzhchs
不管是mysql和sqlserver都一样
SELECT
u.* ,fm.*
FROM
tt1 u
LEFT JOIN tt2 fm
ON u.name = fm.name
and u.CID = 901
这些写and u.CID = 901 不起作用的
SELECT
u.* ,fm.*
FROM
tt1 u
LEFT JOIN tt2 fm
ON u.name = fm.name
where u.CID = 901
这样写where u.CID = 901 才起作用
我查了一下msdn
https://social.msdn.microsoft.com/Forums/zh-CN/e1198287-96d5-4e9e-b1d0-d2d4f5ba4e20/inner-joinonwhere?forum=sqlserverzhchs
没搞明白,为何and u.CID = 901 不起作用
如果是inner join的话,SELECT
u.* ,fm.*
FROM
tt1 u
LEFT JOIN tt2 fm
ON u.name = fm.name
and u.CID = 901
这样写and u.CID = 901会起作用的
以上是关于left outer join的on不起作用的主要内容,如果未能解决你的问题,请参考以下文章
最全解释Mysql 的join中on与where 过滤条件差异
LEFT OUTER JOIN 在 bigquery 上创建子查询时出错
SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别