1. 程式人生 > >左外連線

左外連線

左外連線

Left outer join :結果表中除了包括滿足連線條件的行外,還包括左表的所有行。

On後寫連線的條件,對於左表中不滿足條件的右表資料還是顯示,只是都是空值null

題目描述

查詢所有員工的last_name和first_name以及對應部門編號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`));
select e.last_name, e.first_name, d.dept_no
    from employees as e left outer join dept_emp as d
        on e.emp_no = d.emp_no