SQL 查询示例:基于 EMPLOYEES 和 DEPARTMENTS 表的员工信息检索
(1) 雇用日期在今年的、工资在[1000,2000]之间的、或者员工姓名以'Obama'打头的所有员工的查询:
SELECT * FROM EMPLOYEES
WHERE HiredDate >= TO_DATE('2022-01-01', 'YYYY-MM-DD')
OR (Salary >= 1000 AND Salary <= 2000)
OR LAST_NAME LIKE 'Obama%';
(2) 部门平均工资大于1800元的部门的所有员工的查询:
SELECT E.* FROM EMPLOYEES E
INNER JOIN DEPARTMENTS D ON E.Departmentid = D.Departmentid
WHERE D.Departmentid IN (
SELECT Departmentid
FROM EMPLOYEES
GROUP BY Departmentid
HAVING AVG(Salary) > 1800
);
(3) 个人工资高于所在部门平均工资的员工的查询,包括高出部门平均工资的百分比:
SELECT E.*, (E.Salary - D.AvgSalary) / D.AvgSalary * 100 AS ExceedPercentage
FROM EMPLOYEES E
INNER JOIN (
SELECT Departmentid, AVG(Salary) AS AvgSalary
FROM EMPLOYEES
GROUP BY Departmentid
) D ON E.Departmentid = D.Departmentid
WHERE E.Salary > D.AvgSalary;
注意:以上查询语句仅提供了基于给定表结构的查询示例,并假设表已经存在且包含合适的数据。实际使用时,可能需要根据具体情况进行适当的调整和修改。
原文地址: https://www.cveoy.top/t/topic/cjml 著作权归作者所有。请勿转载和采集!