You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle HR库自连接查询如何筛选薪资为2100的员工及薪资数据

解决方案

首先明确你当前SQL的逻辑:是通过自连接关联员工表,e表对应当前员工,d表对应该员工的直属经理,原查询返回的是「员工姓名 + 该员工直属经理的薪资」。根据你的实际筛选需求,分三种场景处理:


场景1:仅查询本人薪资为2100的员工

如果不需要关联经理信息,可直接去掉自连接,添加WHERE条件筛选薪资即可,语句更简洁:

SELECT first_name || ' with the salary of ' || salary 
AS Employees_and_their_Salary
FROM hr.employees
WHERE salary = 2100;

场景2:保留自连接逻辑,筛选员工本人薪资为2100

如果你需要保留和经理表的关联逻辑,只要把筛选条件加在员工表e的薪资字段上即可,同时注意展示的是员工本人的薪资,要把d.salary改为e.salary:

SELECT e.first_name ||' with the salary of '|| e.salary 
AS Employees_and_their_Salary
FROM hr.employees e 
JOIN hr.employees d
ON e.manager_id = d.employee_id
WHERE e.salary = 2100;

场景3:保留自连接逻辑,筛选直属经理薪资为2100

如果你需要查询直属经理薪资为2100的员工,只要把筛选条件加在经理表d的薪资字段上即可:

SELECT e.first_name ||' with the manager salary of '|| d.salary 
AS Employees_and_their_Salary
FROM hr.employees e 
JOIN hr.employees d
ON e.manager_id = d.employee_id
WHERE d.salary = 2100;

内容的提问来源于stack exchange,提问作者user14823524

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:06:06