人事・労務データ分析
中級
人事・労務データ分析
中級人事・労務担当者の業務を題材に、部署別人員構成・給与分析・勤怠集計をSQLで解析します。実際の人事業務で使われるクエリパターンを体系的に習得できます。
問題一覧
#188 全部門の一覧を取得
人事担当として初日の業務が始まりました。まず社内の部門構成を確認するため、hr_departmentsテーブルから全部門の情報を取得してください。
#189 在籍中の社員を確認
現在在籍中の社員のみを把握したいです。hr_employeesテーブルからstatusが"active"の社員を全件取得してください。
#190 社員名と所属部門名を確認
各社員がどの部門に所属しているか確認します。hr_employeesとhr_departmentsを結合して、社員名と部門名を取得してください。
#191 部門別の平均給与を算出
給与水準の見直しに向けて、部門ごとの平均給与を確認します。hr_departmentsとhr_employeesを結合し、部門名と平均給与を取得してください。
#192 社員別の休暇申請件数(0件含む)
休暇管理の点検として、申請がない社員も含めて各社員の休暇申請件数を集計してください。
#193 社員がいない部門を洗い出す
組織見直しのため、社員が配属されていない部門を含めた部門別社員数を確認してください。
#194 承認済み休暇取得日数を集計
有給消化状況を確認するため、承認済み(approved=1)の休暇申請を持つ社員について、社員名と申請件数を取得してください。
#195 部門内給与ランキングを付ける
昇給対象の検討に向けて、在籍中の社員について部門内での給与順位を付けてください。
#196 全社平均給与以上の社員を抽出
給与水準の高い社員を把握するため、全社員の平均給与を超える社員を取得してください。
#197 部門別給与の構成比を算出
全社人件費に対する部門別の割合(構成比)を確認します。CTEを使い、部門名・合計給与・構成比(小数第一位)を取得してください。
#165 部署ごとの給与合計と人数をまとめる
3テーブル(departments・employees・salaries)を結合し、部署ごとの人数・給与合計・平均給与を求めてください。
#166 給与ランキングをウィンドウ関数で求める
salariesテーブルでbase_salaryの降順にRANK()で順位を付け、従業員IDと給与とともに表示してください。
#167 部署内での給与順位をつける
salaries・employees・departmentsを結合し、部署内でのbase_salary降順のRANK()を付けてください。
#168 退職済み従業員の給与を確認する
LEFT JOINを使い、is_activeが0の従業員(退職者)のid・名前・base_salaryを取得してください。
#169 従業員ごとの総残業時間をCTEで求める
CTEで従業員ごとのovertime_hours合計を求め、名前と一緒に残業の多い順に表示してください。
#170 年収上位3名を特定する
CTEで年収(base_salary * 12 + bonus)を計算し、年収上位3名の従業員名と年収を取得してください。
#171 部署別の平均給与と全社平均の差を求める
CTEで部署別平均給与と全社平均給与を求め、両者の差(dept_avg - company_avg)を部署名とともに表示してください。