T1:従業員[ID、給与]内部結合:これは最適なソリューションですか?
T2:部署[名、社員] (社員がT1のIDへの外部キーである)
問題:どの部署の名前を取得するクエリを書きます最高給与を受け取る。
マイソリューション:
SELECT DISTINCT name
FROM department AS a
INNER JOIN employee AS b ON a.employeeid = b.id
AND b.salary
IN (
SELECT max(salary)
FROM employee AS c
)
編集:問題の記述が正確である、と私たちは最高の給与を持っている従業員を見つけるためにしようとしていません。 「......受け取っている部署」ではなく「...従業員を受けている」と言います。
これは問題ありませんか?それとも最適化できますか?
あなたはどのようなデータベースとバージョンを使用していますか? –
あなたは、最高給与の従業員が働いている部署、または給料の最大合計を持っている部署を見つけるはずですか?なぜなら、あなたのコードは1つを表し、テキストはもう1つを表すからです。 –
そして、これは宿題ですか? –