LEFT JOIN(联表)的条件写在ON中和WHERE的区别
2016-11-11 09:55
513 查看
LEFT JOIN(联表)的条件写在ON中和WHERE的区别
转载自:http://www.cnblogs.com/GuominQiu/articles/1936959.html写在ON中是作为关联的条件之一,而写在WHERE条件中,则是筛选依据之一。
比如:
SELECT * FROM A
LEFT JOIN B ON (A.ID = B.ID AND B.NAME = 'NAME')
这条语句可以将在B表找不到的数据(即A.ID在B表中找不到)都保留下来
这条如果写成:
SELECT * FROM A
LEFT JOIN B ON A.ID = B.ID
WHERE B.NAME = 'NAME'
这样的话,B表中找不到的数据就不会出来了。这是因为WHERE语句中取B.NAME,如果A的数据不在B中,那么B.NAME 为NULL,
肯定不符合B.NAME = 'NAME'这一条件,所以不会出现在结果集
相关文章推荐
- left join条件写在on中和where中的区别
- left join 过滤条件写在on后面和写在where 后面的区别
- left join 过滤条件写在on后面和写在where 后面的区别
- left join 过滤条件写在on后面和写在where 后面的区别
- left join 过滤条件写在on后面和写在where 后面的区别
- 数据库左连接left join、右连接right join、内连接inner join on 及 where条件查询的区别
- SQL_left join中on和where条件的区别
- Oracle LEFT JOIN中ON条件与WHERE条件的区别
- left join 中,on和where条件的区别
- sql中的left join及on、where条件关键字的区别详解
- left join (on 和 where条件放置的区别)
- MySQL left join操作中 on与where放置条件的区别
- 【SQL】条件语句写在 on 后与写在 where 后的区别
- left join (on 和 where条件放置的区别)
- left join加上on条件与where条件区别
- oracle数据库sql语句left join,right join,inner join的条件on和where的区别
- MYSQL联表查询LEFT JOIN 中 WHERE条件放在ON条件里和外部的区别
- left join,right join,inner join的条件on和where的区别
- sql 左连接(left join),右链接(right join) 条件放在on和放在where 的区别
- left join(on和where条件放置的区别)