SQL查询:On子句和where子句的条件差异

德鲁夫·班萨尔(Dhruv Bansal)

我试图得到下面两个查询之间的区别

查询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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sql where子句查询

来自分类Dev

SQL条件“ WHERE”子句

来自分类Dev

sql条件where子句

来自分类Dev

SQL WHERE子句条件

来自分类Dev

SQL Update查询和Where子句

来自分类Dev

SQL查询多个where子句

来自分类Dev

SQL查询中的WHERE子句

来自分类Dev

使用 WHERE IN 子句的 SQL 查询

来自分类Dev

SQL WHERE子句条件评估

来自分类Dev

SQL子句中的条件WHERE

来自分类Dev

SQL:if条件在where子句中

来自分类Dev

SQL JOIN条件移至with子句产生差异

来自分类Dev

如何执行此SQL查询(聚集group by和where in子句)?

来自分类Dev

使用 WHERE 子句和 CONVERT 或 CAST 的 T-SQL 查询

来自分类Dev

MySQL更新查询不带where子句和带where子句

来自分类Dev

带有 CASE 和 NOT IN 条件的 SQL Where 子句

来自分类Dev

SQL; 函数和where子句

来自分类Dev

SQL; 函数和where子句

来自分类Dev

基于 WHERE 子句结果的 T-SQL 条件 WHERE 子句

来自分类Dev

使用条件子查询的Postgresql WHERE子句

来自分类Dev

为什么 ON 子句和 WHERE 子句中的条件使结果不同?

来自分类Dev

Where子句和内部联接语法查询

来自分类Dev

在查询中组合 WHERE 和 HAVING 子句

来自分类Dev

SQL查询中不包含where子句

来自分类Dev

SQL查询where子句以进行报告

来自分类Dev

SQL查询中的动态WHERE子句

来自分类Dev

SQL查询:在WHERE子句中使用AND / OR

来自分类Dev

WHERE子句中的HIVE SQL子查询

来自分类Dev

sql查询-如果WHERE子句中存在