MySQL基础教程——表的内外连接
@
前言
之前我们介绍了如何在MySQL中进行查询操作,接下来我们所要介绍的表的的内外连接本质上也是为了表的查询工作所服务的。
一、内连接
内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。
(1)笛卡尔积
那什么是笛卡尔积呢,简答来说就是将一个表中的每条信息与另一个表中的每条信息进行穷举组合所形成所有可能的行组合。
举个简单的例子,下面有两张表

其笛卡尔积的结果如下:
select * from Students, Courses;

(2)内连接语法
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
我们再举两种方式来进行内连接的例子:
select * from Orders, Customers where Orders.customer_id = Customers.id;
select * from Orders inner joinCustomers on Orders.customer_id = Customers.id;
用以上两种方式就能对用
select * from Orders, Customers;
所形成的笛卡尔积进行我们所要求的查找。
二、外连接
外连接分为左外连接和右外连接,接下来我们进行介绍。
(1)左外连接
在联合查询中左侧的表完全显示就说是左外连接。
select 字段名 from 表名1 left join 表名2 on 连接条件;
示例:
创建如下两张表,并根据匹配的id进行查询学生成绩,即使没有成绩也要显示出该学生。


(2)右外连接
和左外连接一样,在联合查询中右侧的表完全显示就说是右外连接。
select 字段 from 表名1 right join 表名2 on 连接条件;
接着之前的例子有:

三、写在最后
至此关于MySQL查询有关的内容已经全部介绍完毕,在学习的过程中我们也知道了解决多表查询的问题,其本质上就是将多表问题转换为单表问题来解决,我们每一次所进行select操作其实都是在按照select的要求形成新的逻辑表,而我们后续操作也是基于该逻辑表所进行的。
结语
以上就是我们关于MySQL的内外连接的内容啦。如果喜欢我的内容,请点赞、收藏加关注,多多支持我这个编程小白啊,以及欢迎各位在评论区讨论交流,并指出我的不足,谢谢大家。

浙公网安备 33010602011771号