2

質問する前にサイトを検索しましたが、関連するものに出くわしませんでした。これはばかばかしいほど基本的なエラーであると確信しています。私は、約4か月間、0台のコンピューターのバックグラウンドからOracle SQLを勉強しただけです。今月末に 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
4

3 に答える 3

4

あなたが持っているJOIN- WHERE-ONシーケンスが間違っています。

次のようにする必要があります(参加条件の一部でWHEREないと仮定します):

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 ...
于 2013-05-09T20:51:52.783 に答える