mysql连接查询(left join、right join、inner join)

一、三种连接的介绍

1.left join:即左连接,表示以左表查询出的数据为主,关联右表的字段,查出来的结果显示左边的所有数据,根据ON后给出的两表的条件将两表连接起来。左连接全称为左外连接,是外连接的一种。左连接在实际开发运用中使用最多。

2.right join:即右连接,作用与左连接刚好相反,表示以右表查询出的数据为主,关联左表的数据,查出来的结果显示右边的所有数据,根据ON后给出的两表的条件将两表连接起来。右连接全称为右外连接,是外连接的一种。

3.inner join:即内连接,同时将两表作为参考对象,根据ON后给出的两表的条件将两表连接起来。结果则是两表同时满足ON后的条件的部分才会列出。

注意:mysql8.0版本以前不支持outer join语法,不过可以使用union来替代实现。

二、实际运用

        比如有班级表(class_test)和学生表(student_test),两表存在一对多的关联,关联字段为class_id。

左连接(left join)

右连接(right join)

内连接(inner join)

注意:1.join是inner join的简写,运行结果一致。

2.没有使用join关键字,直接将多表用逗号并列,也是inner join的写法

三、总结和避坑

        如果左右表的对应关系是一对多,那么左连接查询出的结果并不与左表的条数完全一致,而是会加上右表的满足条件的数据。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值