浅聊mysql外连接查询

、什么是外连接,和内连接有什么区别?
内连接:
假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录查询出来,这就是内连接 。AB两张表没有主副之分,两张表是平等的 。
外连接:
假设A和B表进行连接,使用外连接的话,AB两张表中有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表,当副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配 。
2、外连接的分类?
左外连接(左连接):表示左边的这张表是主表 。
右外连接(右连接):表示右边的这张表是主表 。
左连接有右连接的写法,右连接也会有对应的左连接的写法 。外连接最重要的特点是:主表的数据无条件的全部查询出来 。
3、我们通过员工表(emp)和部门表(dept)来演示外连接

浅聊mysql外连接查询

文章插图
员工表

浅聊mysql外连接查询

文章插图
部门表
案例:找出哪个部门没有员工?
从需求中我们就可以发现一定是用部门表作为主表,所以sql语句如下:
SELECTd.*FROMdept dLEFT JOINemp eON d.deptno = e.deptnoWHERE e.ename IS NULL;
浅聊mysql外连接查询

文章插图
没有员工的部门记录

【浅聊mysql外连接查询】


    推荐阅读