こんにちは、これはデータベース構造です。
employee (employee-name, street, city)
works (employee-name, company-name, salary)
company (company-name, city)
manages (employee-name, manager-name)
私は次の詳細を取得する必要がありますが、私のトレーナーによると、それは間違っています。次のクエリで何が間違っているのか教えてもらえますか?
First Bank Corporationで働いており、10,000ドル以上を稼いでいるすべての従業員の名前、住所、居住地を見つけます。
SELECT e.employee-name, e.city
FROM employee e
INNER JOIN works w
ON e.employee-name = w.employee-name
AND w.company-name = “First Bank Corporation”
GROUP BY e.employee-name
HAVING w.salary > 10000
勤務先の企業と同じ都市に住んでいるすべての従業員をデータベースで検索します。
SELECT e.employee-name
FROM employee e
INNER JOIN works w
ON e.employee-name = w.emploee-name
INNER JOIN company c
ON w.company-name = c.company-name
GROUP BY e.employee-name
HAVING e.city = c.city
マネージャーと同じ都市と同じ通りに住んでいるデータベース内のすべての従業員を検索します。
SELECT employee-name, street, city
FROM employee
INTERSECT
SELECT e.employee-name, e.street, e.city
FROM employee e, manages m
WHERE e.employee-name = m.manager-name