部署ごとの給与合計と人数をまとめる
上級
JOIN + 集計
部署ごとの給与合計と人数をまとめる
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
3テーブル(departments・employees・salaries)を結合し、部署ごとの人数・給与合計・平均給与を求めてください。
結合のヒント
- employeesテーブル(エイリアス: e)との結合条件: d.id = e.department_id(departments.id = employees.department_id)
- salariesテーブル(エイリアス: s)との結合条件: e.id = s.employee_id(employees.id = salaries.employee_id)
取得列: d.name AS department_name, COUNT(e.id) AS headcount, SUM(s.base_salary) AS total_salary, AVG(s.base_salary) AS avg_salary
この問題で学べること
- JOIN + 集計 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
departmentsemployeessalaries難易度・対象者
難易度上級
カテゴリJOIN + 集計
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。