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

mysql:左连接、内连接、in()语句以及对比

时间:2018-10-19 14:05:38      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:print   uname   mysql   sql   字符串   mys   pretty   use   交集   

左连接:

格式: 
select 列1,列2,列N from 
tableA left join tableB 
on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看] 
where,having,group by …照常写。

理解: 
左连接:即以左表为基准,到右表找匹配的数据,找不到匹配的用NULL补齐。

右连接和左连接类似,不再赘述,更加推荐左连接。

内连接:

select 列1,列2,列N from 
tableA inner join tableB 
on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看] 
where,having,group by …照常写。

理解:

内连接:查询左右表都有的数据,不要左/右中NULL的那一部分 
内连接是左右连接的交集。

in语句:

1、in 后面是记录集,如:

select * from table where uname in(select uname from user);

2、in 后面是字符串,如:

select * from table where uname in(‘aaa’,bbb’,’ccc’,’ddd’,’eee’,ffff”);

注意:这里一定要将字符串用单引号” 标注起来;

我们在查询的时候,一般来讲是左连接的效率比较高,推荐使用左连接
而不是in语句。

但是也是会有特殊的情况。需要放到实际业务场景来看待。

mysql:左连接、内连接、in()语句以及对比

标签:print   uname   mysql   sql   字符串   mys   pretty   use   交集   

原文地址:https://www.cnblogs.com/andyFok/p/9815465.html

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