首页 > 代码库 > left outer join的on不起作用

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不起作用