美文网首页
19.查找所有员工的last_name和first_name以及

19.查找所有员工的last_name和first_name以及

作者: Bre_eze | 来源:发表于2018-07-08 11:02 被阅读0次

    查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工

    CREATE TABLE `departments` (
    `dept_no` char(4) NOT NULL,
    `dept_name` varchar(40) NOT NULL,
    PRIMARY KEY (`dept_no`));
    
    CREATE TABLE `dept_emp` (
    `emp_no` int(11) NOT NULL,
    `dept_no` char(4) NOT NULL,
    `from_date` date NOT NULL,
    `to_date` date NOT NULL,
    PRIMARY KEY (`emp_no`,`dept_no`));
    
    CREATE TABLE `employees` (
    `emp_no` int(11) NOT NULL,
    `birth_date` date NOT NULL,
    `first_name` varchar(14) NOT NULL,
    `last_name` varchar(16) NOT NULL,
    `gender` char(1) NOT NULL,
    `hire_date` date NOT NULL,
    PRIMARY KEY (`emp_no`));
    

    解析:考察两次left join

    select em.last_name, em.first_name, depa.dept_name
    from (employees as em left join dept_emp as dep on em.emp_no = dep.emp_no) 
    left join departments as depa
    on dep.dept_no = depa.dept_no;
    

    相关文章

      网友评论

          本文标题:19.查找所有员工的last_name和first_name以及

          本文链接:https://www.haomeiwen.com/subject/xhfouftx.html