当前位置:Gxlcms > 数据库问题 > mysql学习-mysql内连接&外连接

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

时间:2021-07-01 10:21:17 帮助过:24人阅读

技术图片

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;

      

      

    

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

标签:rom   查询   别名   desc   关系   技术   姓名   学习   工资   

人气教程排行