3-Mysql-内连接,左连接,右连接,全连接

  • Post author:
  • Post category:mysql


本文知识点来源于网络,仅限学习笔记使用,记录学习过程与心得,如有不适,请联系。

准备数据

员工表:employee

在这里插入图片描述

部门表:department

在这里插入图片描述



内连接

查询两张表共有的部分

在这里插入图片描述

SELECT * FROM employee e INNER JOIN department d ON e.dep_id = d.id;

查询结果 :王八因为是部门6,而部门表没有部门6,所以没有被查出来

在这里插入图片描述



左连接,右连接

左连接:把左边表的全部内容查询出来,右边表只查询出满足条件的记录。

在这里插入图片描述

SELECT * FROM employee e LEFT JOIN department d ON e.dep_id = d.id;

查询结果:

在这里插入图片描述

右连接同理:

把右边表的全部内容查询出来,左边表只查询出满足条件的记录

SELECT * FROM employee e RIGHT JOIN department d ON e.dep_id = d.id;

在这里插入图片描述


扩展:


查询左表中特有的数据:

思路:可以通过左连接变形而来

在这里插入图片描述

SELECT * FROM employee e LEFT JOIN department d ON e.dep_id = d.id WHERE d.id IS NULL;

在这里插入图片描述



全连接

两个表全部的信息都查询出来

在这里插入图片描述

union 默认会去重 ,union all不会

SELECT * FROM employee e LEFT JOIN department d ON e.dep_id = d.id;
UNION
SELECT * FROM employee e RIGHT JOIN department d ON e.dep_id = d.id;



版权声明:本文为weixin_42985717原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。