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

左连接:

格式:

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语句。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值