我正在使用 SQL Server 2008 R2。
我有一个查询,其中我使用左外连接从两个表中获取记录。
现在,查询是这样的:
SELECT Table1.Id, Table1.Name, Table2.DeviceId
FROM Table1
LEFT OUTER JOIN Table2 ON Table1.Id = Table2.Table1Id AND Table2.DeviceId=4
WHERE Table1.Name LIKE 'xxxxxx' AND Table1.IsDeleted=0
它给了我想要的结果。
但是当我使用
SELECT Table1.Id, Table1.Name, Table2.DeviceId
FROM Table1
LEFT OUTER JOIN Table2 ON Table1.Id = Table2.Table1Id
WHERE Table1.Name LIKE 'xxxxxx' AND Table1.IsDeleted=0 AND Table2.DeviceId=4
它没有给出预期的结果。
现在,我不明白 ON 语句和 WHERE 子句中的 AND 运算符有什么区别?
谁能解释一下?
谢谢..