MySQL練習

MySQL練習題

1.取得每一個部門最高薪水的人員名稱

  • 第一步:取得每一個部門最高薪水。
mysql> select deptno,max(sal) as maxsal from emp group by deptno;
+--------+---------+
| deptno | maxsal  |
+--------+---------+
|     10 | 5000.00 |
|     20 | 3000.00 |
|     30 | 2850.00 |
+--------+---------+
3 rows in set (0.00 sec)
  • 第二步:將以上結果看成臨時表t,t表和emp e表示鏈接,條件是:t.deptno = e.deptno and t.maxsal = e.sal
mysql> select
    ->      e.ename,t.*
    -> from
    ->      (select deptno,max(sal) as maxsal from emp group by deptno) t
    -> join
    ->      emp e
    -> on
    ->      t.deptno = e.deptno and t.maxsal = e.sal;
+-------+--------+---------+
| ename | deptno | maxsal  |
+-------+--------+---------+
| BLAKE |     30 | 2850.00 |
| SCOTT |     20 | 3000.00 |
| KING  |     10 | 5000.00 |
| FORD  |     20 | 3000.00 |
+-------+--------+---------+
4 rows in set (0.01 sec)
相關文章
相關標籤/搜索