原文:SQL中join连接查询时条件放在on后与where后的区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义 必须返回左边表的记录 了,条件不为真的就全部过滤掉 ...

2019-06-21 20:05 0 6227 推荐指数:

查看详情

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

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

Wed Mar 12 19:32:00 CST 2014 1 6180
SQL 查询条件放在LEFT OUTER JOIN 的ON语句放在WHERE区别

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

Sun Jan 01 00:29:00 CST 2017 0 2594
SQL条件放在onwhere区别

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

Sat Jan 18 00:12:00 CST 2014 2 8446
Left Join 筛选条件在onwhere区别

a left join b 时限制条件在on, 相当于先筛选右连接表b的数据,再进行数据连接.形成最终的集合. 这时不影响a表相关字段的显示. 执行结果如下: left join 时限制条件where , 相当于先进行a表和b表的连接,形成最终集合 ...

Fri Dec 14 18:05:00 CST 2018 0 1016
SQL join 连接 条件加在 on后面和 where区别

task 是用户任务表,manageuser是用户表,以left join 为参考: 此时主表是task,三条sql语句:注意区别。第一句无筛选条件,第二句筛选条件在on后面,第三句sql的筛选语句放到where 搜索结果如下 总结:where 会在最终结果筛选,on ...

Wed Nov 28 18:48:00 CST 2018 0 1068
论《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