資料庫SQL實戰 --3.查詢所有已經分配部門的員工的last_name和first_name
阿新 • • 發佈:2018-12-14
題目描述
查詢所有已經分配部門的員工的last_name和first_name
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`));
解決思路
已經分配部門的員工,其實就是返回兩個表中聯結emp_no欄位相等的行,也就是等值連線
select employees.last_name, first_name, dept_emp.dept_no
from dept_emp inner join employees
on dept_emp.emp_no = employees.emp_no;
- inner join(等值連線) 只返回兩個表中聯結欄位相等的行
- left join(左聯接) 返回包括左表中的所有記錄和右表中聯結欄位相等的記錄
- right join(右聯接) 返回包括右表中的所有記錄和左表中聯結欄位相等的記錄