在提出问题之前我已经搜索过该网站,但没有遇到相关的内容。我确信这是一个荒谬的基本错误,我只从 0 计算机背景学习 Oracle SQL 大约 4 个月。我计划在本月底学习 1z0-051,所以复习一下所有章节。在这个子句中,我试图获取工资高于最低工资职位(CLERK)平均工资的员工的姓名、头衔、工资、部门和城市。我总是收到缺少关键字的信息?
SELECT e.first_name,
e.last_name,
j.job_title,
e.salary,
d.department_name,
l.city
FROM employees e
JOIN jobs j
WHERE salary >
(SELECT AVG(salary) FROM employees WHERE job_id LIKE '%CLERK%'
) ON e.job_id = j.job_id
JOIN departments d
ON e.department_id = d.department_id
JOIN locations l
ON d.location_id = l.location_id
ORDER BY salary
你有JOIN
-WHERE
-ON
顺序是错误的。
应该是这样的(假设WHERE
is not您加入条件的一部分):
FROM employees e
JOIN jobs j ON e.job_id = j.job_id
....
....
WHERE e.salary >
(SELECT AVG(salary) FROM employees WHERE job_id LIKE '%CLERK%')
ORDER BY ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)