题目

查找所有已经分配部门的员工的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,de.dept_no from dept_emp as de join employees as e on de.emp_no = e.emp_no

题解

此题依旧是简单锻炼内连接的题目,这题两个表分别为员工表,以及部门员工关系表,将两表按照雇员编号内连接,就会消除掉尚未分配部门二点员工,然后查询即可


醉后不知天在水,满船清梦压星河