运行此查询时,我一直得到一个空表。我该如何更改这一点,以列出在公司工作时间超过平均的员工
SELECT first_name, last_name
FROM employees
WHERE DATEDIFF(SYSDATE(), hire_date) > ALL (SELECT AVG(hire_date) FROM employees)
正如jarlh所指出的,您需要平均持续时间,即子查询中的DATEDIFF:
SELECT first_name, last_name
FROM employees
WHERE DATEDIFF(SYSDATE(), hire_date) >
ALL (select avg(DATEDIFF(SYSDATE(), hire_date)))