十三、外连接

一、什么是外连接?外连接和内连接的区别?

  外连接:假设A和B表进行连接,使用外连接的话,A、B两张表有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表;当副表中的数据没有和主表中的数据匹配上,副表自动模拟NULL与之匹配

  内连接:假设使用A和B表进行连接,凡是A和B表能够匹配上,就把记录查询出来,(A和B表没有主副之分,两张表是平等的)

二、分类

  左外连接(左连接):表示左边的这张表是主表

  右外连接(右连接):表示右边的这张表是主表

三、语法

  select .....

  from.....

  left(right) join outer 表名    outer可以省略

  on 连接条件

  

四、案例

  1、查询每个员工的上级领导,要求显示员工名和对应的领导名

  select a.last_name '员工',b.last_name '领导'
  from employees a
   left join employees b                 //left说明员工是主表
   on a.employee_id=b.manager_id;   //把没有领导的员工也显示出来

  2、查询哪个部门没有员工  

  SELECT d.*
  FROM emp e
  RIGHT JOIN dept d
  ON e.`DEPTNO`=d.`DEPTNO`
  WHERE e.`EMPNO` IS NULL;

posted @ 2019-11-12 11:03  笔心  阅读(280)  评论(0)    收藏  举报