ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

21_MySQL表外连接实战

2020-11-11 15:03:12  阅读:418  来源: 互联网

标签:上司 21 编号 表外 员工 部门 MySQL JOIN e2


 

 

-- 查询每名员工的编号、姓名、部门、月薪、工资等级、工龄、上司编号、上司姓名、上司部门?

SELECT
    e.empno,#员工编号
    e.ename,#员工姓名
    e.deptno,#员工部门
    e.sal + IFNULL(e.comm, 0) AS income,#月薪
    DATEDIFF(NOW( ), e.hiredate) / 365 AS seniority,#工龄
    s.grade,#工资等级
    e.mgr,#上司编号
    e2.ename AS mgrname,#上司姓名
    d.dname #上司部门
FROM
    t_emp e #员工表e
    JOIN t_salgrade s ON (e.sal + IFNULL( e.comm, 0 )) BETWEEN s.losal AND s.hisal #与工资等级表关联
    LEFT JOIN t_emp e2 ON e.mgr = e2.empno 
    #与员工表e2关联,获取上司信息,因为King没有上司,为保留完整信息,采取左连接
    LEFT JOIN t_dept d ON e2.deptno = d.deptno; 
    #与部门表d关联,获取上司部门信息,因为陈浩没有部门编号,为保留完整信息,采取左连接

 

 

 

 

标签:上司,21,编号,表外,员工,部门,MySQL,JOIN,e2
来源: https://www.cnblogs.com/waterr/p/13958717.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有