各部署の最初の3人の従業員に高い賃金を見つけるためにSQLクエリを書きます

Employeeテーブルには、それぞれが、対応する従業員ID、給与および部門IDを持っている、すべての従業員に関する情報が含まれています。

---- + -------- + ------- + + -------------- +
| ID |名前|給与| DepartmentIdの|
+ - - + -------- + ------- + -------------- +
| 1 |ジョー| 70000 | 1 |
| 2 |ヘンリー| 80000 | 2 |
| 3 |サム| 60000 | 2 |
| 4 |最高| 90000 | 1 |
| 5 |ジャネット| 69000 | 1 |
| 6 |ランディ| 85000 | 1 |
+ ----- + ---- - + -------------- + -------- +
部門のテーブルには、会社のすべてのセクターに関する情報が含まれています。

+ ---------- + ---- +
| ID |名前|
+ ---- + ---------- +
| 1 | IT |
| 2 |セールス|
+ ---- + ---------- +
各部門の上位3つの高賃金の従業員を見つけるために、SQLクエリを記述します。例えば、上記の表が与えられると、クエリの結果が返されるべきです。

+ ------------ + ---------- + -------- +
| 部門| 従業員| 給与|
+ ------------ + ---------- + -------- +
| IT | マックス| 90000 |
| IT | ランディ| 85000 |
| IT | ジョー| 70000 |
| セールス| ヘンリー| 80000 |
| セールス| サム| 60000 |
+ ------------ + ---------- + -------- +

SQL如下:
SELECT
d.Name部門、e1.Name従業員、e1.Salary給与
FROM
社員E1、
従業員E2、
部門dをe1.DepartmentId = e2.DepartmentId AND e1.Salary <= e2.Salary とe1.DepartmentId = D .ID e1.idによって基を有する数(DISTINCT e2.Salary)<= 3 d.Nameによってため、e1.Salary DESC






おすすめ

転載: blog.csdn.net/weixin_34062469/article/details/90921140