Left Join / Right Join / Inner Join区别

  1. -left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 

  2. -right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录

  3. -inner join(等值连接) 只返回两个表中联结字段相等的行



表结构:


Left Join(左联接)

select u.UserID,u.UserName,c.id,c.name

from t_user u left join t_class c   on  c.id  = u.UserID

运行结果:


返回包括左表中的所有记录和右表中联结字段相等的记录 

 


Right Join(右联接)

select u.UserID,u.UserName,c.id,c.name
from t_user u RIGHT join t_class c on  c.id  = u.UserID
运行结果:


返回包括右表中的所有记录和左表中联结字段相等的记录

 


inner join(等值连接)

select u.UserID,u.UserName,c.id,c.name
from t_user u inner join t_class c  on  c.id  = u.UserID

只返回两个表中联结字段相等的行

 


一般要使得数据库查询语句性能好点遵循一下原则:

在做表与表的连接查询时,大表在前,小表在后
不使用表别名,通过字段前缀区分不同表中的字段
查询条件中的限制条件要写在表连接条件前
尽量使用索引的字段做为查询条件

 

参考文章:https://www.cnblogs.com/boundless-sky/p/6594518.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值