You are given the following SQL statement. SELECT e.employee_id, e.salary FROM employees e WHERE e.salary > (   SELECT AVG(s.salary)   FROM employees s   WHERE s.department_id = e.department_id ); Which of the following queries correctly rewrites this logic using an uncorrelated approach, such as a join or uncorrelated subquery or subquery factoring?单项选择题

A

SELECT e.employee_id, e.salary FROM employees e JOIN employees s ON e.department_id = s.department_id WHERE e.salary > AVG(s.salary);

B

WITH dept_avg AS (   SELECT department_id, AVG(salary) AS avg_salary   FROM employees   GROUP BY department_id ) SELECT e.employee_id, e.salary FROM employees e JOIN dept_avg d ON e.department_id = d.department_id WHERE e.salary > d.avg_salary;

C

SELECT employee_id, salary FROM employees WHERE department_id IN (   SELECT department_id   FROM employees   GROUP BY department_id   HAVING AVG(salary) < salary );

D

SELECT employee_id, salary FROM employees WHERE salary > (   SELECT MAX(salary)   FROM employees   WHERE department_id = employees.department_id );

登录即可查看完整答案

我们收录了全球超50000道真实原题与详细解析,现在登录,立即获得答案。

更多留学生实用工具

加入我们,立即解锁 海量真题独家解析,让复习快人一步!