码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-05-09 21:08:41      阅读:79      评论:0      收藏:0      [点我收藏+]

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

技术图片

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   关系   技术   姓名   学习   工资   

原文地址:https://www.cnblogs.com/jiliangceshi/p/12859731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!