码迷,mamicode.com
首页 > 数据库 > 详细

MySql中三种Join以及Where条件的疑惑

时间:2015-04-15 13:23:47      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

MySQL JOIN时条件放在Where之后和On之后结果是迥然不同的

在Left Join的时候on后的左表条件不生效

Right Join的时候on后的右表条件不生效

即左或右连接的时候on后的主表条件不生效

select * from a left join b on a.id=b.id and a.name=1 and b.age=2;

 

这里只有b.age=2能生效a.name=1不生效

在Inner Join的时候on后的条件不论主表从表都能生效。

 

在left或者right join的时候如果想要获取到从表为null的数据,尽可能不要在join的结果后写where条件,对每张表先进行条件过滤然后再join,这样会得到完整的结果

MySql中三种Join以及Where条件的疑惑

标签:

原文地址:http://www.cnblogs.com/holdhappiness/p/4428161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!