sql练习--查找所有已经分配部门的员工的last_name和first_name

时间限制: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));

输入描述:

输出描述:
sql练习--查找所有已经分配部门的员工的last_name和first_name

解析:两个表只有一列是相同的,可以使用自然联结
代码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