Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【QuestHR】第4回データ分析リテラシー基礎研修 / 4Data Literacy

Avatar for QuestHR QuestHR
September 16, 2025

【QuestHR】第4回データ分析リテラシー基礎研修 / 4Data Literacy

テーブルをつなげて“見える世界”を広げる。実務で迷わないJOIN設計を学ぶ。

Avatar for QuestHR

QuestHR

September 16, 2025

More Decks by QuestHR

Other Decks in Business

Transcript

  1. 本日の アジェンダ 1. 前回の復習 2. なぜJOINが必要か? 3. 演習準備 4. JOINの基本構文

    5. 講義①:INNER JOIN と LEFT JOINについて 6. 講義②:【便利ワザ】テーブルにニックネームを付ける 7. 【重要】SQLの処理順序 8. 講義③:【応用】3つ以上のテーブルを結合する 9. 総合演習 10. まとめ
  2. 前回の復習 前回は、「データ整備」を学びました! • NULL : 空のデータをIS NULLで探せるようになった • CASE :

    条件に応じて「在職」「退職」などの新しい分類を作れ るようになった • 関数 : TRIMでスペースを消したり、DATEDIFFで日付を計 算したりできるようになった
  3. • FROM テーブルA JOIN テーブルB ◦ どのテーブルと、どのテーブルを結合するかを指定。 • ON テーブルA.キー

    = テーブルB.キー ◦ 【※最重要※】どの列をキーにして結合するかを指定。 ◦ 今回は、ON employees.employee_id = evaluations.employee_id となる。 JOINの基本構文 SELECT * FROM テーブルA JOIN テーブルB ON テーブルA.キー = テーブルB.キー;
  4. ▪ニックネームの付け方 FROM句やJOIN句で、テーブル名の後ろにスペースを空けてニッ クネームを書くだけ! 【便利ワザ】テーブルにニックネームを付ける FROM employees e LEFT JOIN evaluations

    ev ※ニックネームを付けると… • 修正前: ON employees.employee_id = evaluations.employee_id • 修正後: ON e.employee_id = ev.employee_id → SQL文が短く、スッキリして読みやすくなる!
  5. ▪私たちが書く順番 1. SELECT (何を見るか) 2. FROM / JOIN (どのテーブルから) 3.

    WHERE (どの行に絞るか) SQLの処理順序 ▪コンピューターが処理する順番 1. FROM / JOIN (まず材料を確認し、ニックネームを覚える) 2. WHERE (材料を絞り込む) 3. SELECT (最後に、どう見せるかを決める)   → FROMでニックネームを覚えてからSELECTを処理するので、問題なく使えるのです。
  6. ▪正しいSQL文の例 SELECT employee_name AS emp_n ← 表示する時の名前は emp_n にする FROM

    employees WHERE employee_name = '山田 太郎'; ← 絞り込む時は、元の列名 employee_name を使う SQLの処理順序 ▪エラーが起こるSQL文の例   SELECT   employee_name AS emp_n   FROM   employees   WHERE   emp_n = '山田 太郎';
  7. JOINは、数珠つなぎのように繋げていくことができる! 例:社員情報 + 評価情報 + 研修履歴 【応用】3つ以上のテーブルを結合する SELECT * FROM

    employees e -- ASを使わなくても、スペースで別名を付けられる LEFT JOIN evaluations ev ON e.employee_id = ev.employee_id LEFT JOIN training_history th ON e.employee_id = th.employee_id; ポイント 先ほど学んだニックネーム(e, ev, th)を使うと、ON句が非常に読みやすくなる!