mysql学习-mysql内连接&外连接

SQL99标准,也称为SQL1999标准

   分类:内连接,外连接

一、内连接

  使用  inner join ...on

  语法:

    select 列名1 别名1,列名2 别名2...

    from 表名1 别名1 inner join 表名2 别名2 on 多表间的关联关系

    where 条件

    order by 排序1 asc|desc,排列2 asc|desc....;

 

  查询雇员编号、雇员姓名、工资、部门名称

  select e.empno,e.ename,e.sal,d.dname

  from emp e inner join dept d on e.deptno = d.deprno;

 

  查询工资大于1500的雇员姓名、工资、部门名称、领导名称

  select e.ename, e.sal, d.dname, m.ename

  from emp e inner join dept d on e.deptno = d.deptno inner join emp m on e.mgr = empno

  where e.sal>1500;

 

二、外连接

  左外连接 left outer join....on,也称为左连接 left join...on

    以左边的表作为主表,无论右边的表是否可以匹配到都显示主表中的数据

    语法

      select 列名1 别名1,列名2 别名2...

      from 表名1别名1 left join 表名2 别名2 on 多表的关联关系

      where 条件

      order by 排序列1 asc|desc,排序列2 asc|desc...;      

    举例:

      查询雇员姓名、工资、领导姓名、领导工资(有的雇员没有领导)

      select e.ename,e.sal,m.name,m.sal

      from emp e left join emp m on e.mgr = m.empno;

  

  右外连接 right outer join...on 也称为 right join...on

    以右边的表为主表,无论如何都会显示主表中的所有数据

  

      查询雇员姓名、工资、领导姓名、领导工资(有的雇员没有领导)

      select e.ename,e.sal,m.name,m.sal

      from emp m left join emp e on e.mgr = m.empno;

      

      

    

posted @ 2020-05-09 19:35  测试-继亮  阅读(488)  评论(0编辑  收藏  举报