有一个员工表employees简况如下: emp_no birth_date first_name last_name gender hire_date 10001 1953-09-02 Georgi Facello M 1986-06-26 10002 1964-06-02 Bezalel Simmel F 1985-11-21 10003 1959-12-03 Parto Bamford M 1986-08-28 有一个部门领导表dept_manager简况如下: dept_no emp_no from_date to_date d001 10002 1996-08-03 9999-01-01 d002 10003 1990-08-05 9999-01-01 请你找出所有非部门领导的员工emp_no,以上例子输出: emp_no 10001
时间: 2023-06-12 13:05:38 浏览: 163
可以使用左连接(LEFT JOIN)和空值判断来找出非部门领导的员工emp_no。具体SQL语句如下:
```sql
SELECT e.emp_no
FROM employees e
LEFT JOIN dept_manager dm
ON e.emp_no = dm.emp_no
WHERE dm.emp_no IS NULL
```
解释一下:LEFT JOIN会保留左表(即employees表)中所有记录,如果右表(即dept_manager表)中没有匹配的记录,则右表中的列会被填充空值。我们利用WHERE子句过滤掉右表中有记录的员工,只保留没有记录的员工,即非部门领导的员工。
阅读全文