时间限制:1秒 空间限制:32768K
题目描述
查找所有员工的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
));
输入描述:
无
输出描述:
解析:两个表只有一列是相同的,可以使用自然联结
代码1
select a.last_name,a.first_name,b.dept_no
from employees as a join dept_emp as b
on a.emp_no = b.emp_no
运行时间:27ms
占用内存:3292k
代码2
select a.last_name,a.first_name,b.dept_no
from employees as a natural join dept_emp as b
运行时间:18ms
占用内存:3296k