MySQL的内连接和外连接

内连接

在之前的MySQL的复合查询时,我们能够通过给两个表做笛卡尔积查询和where子句限定条件来查询想查询的数据,不过MySQL还提供了内连接用来给两个表做笛卡尔积,对比之前的复合查询笛卡尔积来说语法更加简洁。

语法:select 字段 from 表1 inner join 表2 on 条件1 and 条件2;

实际上这个语句和之前的复合查询没什么不同,只是语法形式不同。

比如我要查询所有学生的学号,姓名以及班级名称,我们可以直接通过复合查询和where子句限定条件来查询。

 也可以直接选择内连接进行查询。

而内连接这个语法的作用就是将连接和where子句的条件给分开了,算是给用户一种新的查询方法。 

外连接

外连接分为左外连接和右外连接。

左外连接

语法:select 字段 from 表1 left join 表2 on 条件1 and 条件2;

左外连接指的是 left join 关键字左侧的表完全显示,即使右侧表的数据中没有左侧的表的数据。

比如这里创建两个表,stu 和 exam,stu中有两位学生在exam表中不存在,exam表中有一个学生在stu中不存在。

 如果我们用内连接或者普通的复合查询来查询的话,有的数据是直接不显示的。

比如这里我们要查询参加了考试的学生的信息,然后使用内连接来查询。

发现有两个学生没有查询到 。使用复合查询也是一样的。

这就需要左外连接来查询了。

我们发现即使3号和4号学生没有参加考试,但是在左外连接,它们依旧查询到了。

 右外连接

其实学习完左外连接就已经学完右外连接了,只需要把left改成right即可

语法:select 字段 from 表1 right join 表2 on 条件1 and 条件2;

总结

以上就是MySQL的三种连接方式,十分简单,相信大家很快就能掌握。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值