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

Posted 测试-继亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

      

      

    

以上是关于mysql学习-mysql内连接&外连接的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的连接查询

07_MySQL DQL_多表查询_等值内连接

mysql开发之join语句学习

MySQL常用查询命令(连接查询&子查询)

java学习笔记之mysql3

mysql内连接和外连接的区别