原文:SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别

这两种条件放置的位置不同很容易让人造成混淆,以致经常查询出莫名其妙的结果出来,特别是副本的条件与主表不匹配时,下面以A,B表为例简单说下我的理解。 首先要明白的是: 跟在ON 后面的条件是对参与左联接的数据进行筛选,即在左联接之前起作用。 跟在WHERE后的条件是对左联接得到的结果集进行筛选,即在左联接之后起作用。 我直接把我的结论发出来,建议朋友们自行测试一下,下面是结论: 如果条件是由主表和副 ...

2014-03-12 11:32 1 6180 推荐指数:

查看详情

SQL 查询条件放在LEFT OUTER JOIN 的ON语句放在WHERE区别

这两种条件放置的位置不同很容易让人造成混淆,以致经常查询出莫名其妙的结果出来,特别是副本的条件与主表不匹配时,下面以A,B表为例简单说下我的理解。 首先要明白的是: 跟在ON 后面的条件是对参与左联接的数据进行筛选,即在左联接之前起作用。 跟在WHERE ...

Sun Jan 01 00:29:00 CST 2017 0 2594
SQLjoin连接查询条件放在onwhere区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on条件是否为真,都会返回左边表的记录。 2、where条件 ...

Sat Jun 22 04:05:00 CST 2019 0 6227
SQL条件放在onwhere区别

SQLon条件where条件区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件区别如下: 1、 on条件是在生成临时表时使用的条件,它不 ...

Sat Jan 18 00:12:00 CST 2014 2 8446
Hive SQL查询left join下on条件where条件区别

先给个结论: 总结:Hive SQL LEFT JOIN 单独针对左表的过滤条件必须放在WHERE上,放在ON上的效果是不可预期的,单独针对右表的查询条件放在ON上是先过滤右表,再和左表联表,放在WHERE条件上则是先联表再过滤,语义上存在差别。 补充:对于MYSQLLEFT JOIN ...

Tue Mar 22 01:35:00 CST 2022 0 1149
MySQL条件放在where后面与放在on后面的区别

假设有两种表:test_on_position表和address表,address表存放地址,test_on_position存放会员及其常用的地址,数据如下: address表: test_on_position表: 1. left join 条件where后面 运行 ...

Sat Aug 25 03:42:00 CST 2018 0 6231
论《LEFT JOIN条件放ON和WHERE区别

前两天面试,遇到了一道题。说的是LEFT JOIN关联表ON,WHERE后面跟条件区别。 当时确实有点懵逼~经常做这种left join,inner join连接,却发现居然只是模糊的认识。 回到家,马上开启了“实践是检验真理的唯一标准”模式。 三下五除二,建了两张表尝试 ...

Sun Jun 18 01:52:00 CST 2017 1 9600
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM