SQL 查询从未请过假的员工编号和姓名
SQL 查询从未请过假的员工编号和姓名
本文介绍如何使用 SQL 查询从未请过假的员工编号和姓名,提供了两种方法:
方法1:不匹配的记录 外连接
SELECT e.empno, e.ename
FROM emp e
LEFT JOIN (SELECT empno FROM emp_leave) el ON e.empno = el.empno
WHERE el.empno IS NULL;
方法2:子查询
SELECT e.empno, e.ename
FROM emp e
WHERE e.empno NOT IN (SELECT empno FROM emp_leave);
解释:
emp表存储员工信息,包含empno(员工编号)和ename(员工姓名)字段。emp_leave表存储请假记录,包含empno(员工编号)字段。
方法1: 使用 LEFT JOIN 将 emp 表与 emp_leave 表连接,并使用 WHERE el.empno IS NULL 过滤掉在 emp_leave 表中存在记录的员工,从而筛选出从未请过假的员工。
方法2: 使用子查询 SELECT empno FROM emp_leave 获取所有请过假的员工编号,然后使用 NOT IN 筛选出不在子查询结果中的员工,即从未请过假的员工。
注意:
- 以上代码仅供参考,实际操作时需要根据具体数据库结构进行调整。
- 可以根据需要添加其他条件,例如查询特定时间段内从未请过假的员工。
原文地址: https://www.cveoy.top/t/topic/ouJl 著作权归作者所有。请勿转载和采集!