Sql 联接语法中缺少关键字

Sql 联接语法中缺少关键字,sql,oracle,ora-00905,Sql,Oracle,Ora 00905,我在问这个问题之前已经搜索过这个网站,但是没有发现相关的东西。我确信这是一个可笑的基本错误,我从0计算机背景研究Oracle SQL才4个月左右。我计划在本月底参加1z0-051考试,因此我将复习所有章节。在这一条款中,我试图获得工资高于最低工资职位(文员)平均工资的员工的姓名、职称、工资、部门和所在城市。但我总是找不到关键词 SELECT e.first_name, e.last_name, j.job_title, e.salary, d.department_name,

我在问这个问题之前已经搜索过这个网站,但是没有发现相关的东西。我确信这是一个可笑的基本错误,我从0计算机背景研究Oracle SQL才4个月左右。我计划在本月底参加1z0-051考试,因此我将复习所有章节。在这一条款中,我试图获得工资高于最低工资职位(文员)平均工资的员工的姓名、职称、工资、部门和所在城市。但我总是找不到关键词

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

您在序列上加入了-
其中
-
,这是错误的

应该是这样的(假设
其中
不是你加入条件的一部分):


员工e的
where
子句之后不能有
join
子句 加入jobs j > 工资在哪里

此外,在所有联接之后移动WHERE子句

select
      fields
   from
      table
         join
            join "ON" clause
         join
            join "ON" clause
   where
      some condition
   group by
      whatever grouping if aggregates
   order by
      if you want something certain order.

Where子句通常位于连接之后。
select
      fields
   from
      table
         join
            join "ON" clause
         join
            join "ON" clause
   where
      some condition
   group by
      whatever grouping if aggregates
   order by
      if you want something certain order.