小编use*_*090的帖子

SQL:从表1中选择不在表2中的记录

我有两个数据库表:“员工”和“部门”。员工表有两列 Primary_key id 和 emp_name,部门表有 emp_id 和 dep_name。

应该有一个关系黑白表作为外键,但由于某种原因这种关系是虚拟的

表中的数据如

employee
id emp_name
1  'abc'
2  'efg'
4  'hij'

department
emp_id dept_name
1      'it'
2      'engineering'
3      'management'
5      'process'
Run Code Online (Sandbox Code Playgroud)

想要从部门表中选择不在员工表中的所有记录。

一种解决方案是

select d.* 
from department 
where d.id not in(select id from employee);
Run Code Online (Sandbox Code Playgroud)

有没有更好的优化方法?

mysql sql select

4
推荐指数
1
解决办法
6589
查看次数

标签 统计

mysql ×1

select ×1

sql ×1