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 JOINemp 表与 emp_leave 表连接,并使用 WHERE el.empno IS NULL 过滤掉在 emp_leave 表中存在记录的员工,从而筛选出从未请过假的员工。

方法2: 使用子查询 SELECT empno FROM emp_leave 获取所有请过假的员工编号,然后使用 NOT IN 筛选出不在子查询结果中的员工,即从未请过假的员工。

注意:

  • 以上代码仅供参考,实际操作时需要根据具体数据库结构进行调整。
  • 可以根据需要添加其他条件,例如查询特定时间段内从未请过假的员工。
SQL 查询从未请过假的员工编号和姓名

原文地址: https://www.cveoy.top/t/topic/ouJl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录