我试图得到下面两个查询之间的区别
查询1:
在其中我在on子句中给出了条件'Orders.OrderID!= null'
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON (Customers.CustomerID=Orders.CustomerID and Orders.OrderID is not null)
查询2:
我在where子句中给出了条件'Orders.OrderID!= null'
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID where Orders.OrderID is not null
这两个查询正在生成差异结果。为什么?where子句和on condition子句的执行流程是什么?
PS我正在使用以下链接测试查询http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join
查询1中的区别在于,Orders.OrderID!= null(或Orders.OrderId不为null)用于过滤Orders表中的行,而在query2中,它用于过滤结果集中的行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句