zoukankan      html  css  js  c++  java
  • 21_MySQL表外连接实战

    -- 查询每名员工的编号、姓名、部门、月薪、工资等级、工龄、上司编号、上司姓名、上司部门?
    
    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关联,获取上司部门信息,因为陈浩没有部门编号,为保留完整信息,采取左连接

     

  • 相关阅读:
    十年经验手把手教你选购翡翠
    眼睛视力
    玻璃
    前端小技巧
    儿童牙齿矫正
    MySQL的JDBC驱动源码解析
    书海杂谈
    电子设备
    股市国家队
    影视
  • 原文地址:https://www.cnblogs.com/waterr/p/13958717.html
Copyright © 2011-2022 走看看