スポンサーリンク

【応用情報技術者試験】結合(JOIN)を5分で理解!

「JOINって何?」
応用情報技術者試験のSQL分野で超頻出ですが、

  • 表をどうつなぐ?
  • INNER JOIN?
  • LEFT JOIN?
  • 主キーと外部キーの関係は?

で混乱する人がかなり多いテーマです。

この記事では、

  • JOINとは?
  • INNER JOIN
  • LEFT JOIN
  • 試験での頻出ポイント

を5分で理解できるように解説します!


まず結論

JOINとは?

「複数テーブルを結合する機能」

です!


なぜ必要?

データベースでは:

正規化

によって表を分ける。


学生表

学生ID名前
1田中
2鈴木

成績表

学生ID点数
180
290

問題

成績表だけだと:

「誰の点数?」

分からない!


そこでJOIN

表同士をつなぐ!


パズルで理解しよう

かなり分かりやすい👇


学生ID

を使って:

学生表 ↔ 成績表

を合体!


基本構文

SELECT *
FROM 学生表
JOIN 成績表
ON 学生表.学生ID = 成績表.学生ID;


ONとは?

「どの列で結合するか」

指定する。


結果

学生ID名前点数
1田中80
2鈴木90

INNER JOIN

超頻出!


意味

両方に存在するデータだけ取得


イメージ

共通部分だけ


学生表:

ID名前
1田中
2鈴木
3佐藤

成績表:

ID点数
180
290

INNER JOIN結果

名前点数
田中80
鈴木90

佐藤は?

成績がないので:

出ない!


LEFT JOIN

超重要!


意味

左表を全部残す


構文

SELECT *
FROM 学生表
LEFT JOIN 成績表
ON 学生表.ID = 成績表.ID;


結果

名前点数
田中80
鈴木90
佐藤NULL

ポイント

成績なくても:

左表は残る!


RIGHT JOIN

右表を全部残す

LEFTの逆。


CROSS JOIN

全組み合わせ


JOINと主キー/外部キー

超頻出!


よくある関係

テーブルキー
学生表主キー
成績表外部キー

JOIN条件

通常:

主キー = 外部キー

で結合。


NULLとは?

データなし

LEFT JOINで頻出。


応用情報で超頻出

かなり狙われる👇

  • INNER JOIN
  • LEFT JOIN
  • 主キー
  • 外部キー
  • NULL

よくあるひっかけ

「LEFT JOINは共通部分だけ取得」

→ 違う!

それは:

INNER JOIN


1分で復習!

JOIN

表結合


INNER JOIN

共通部分だけ


LEFT JOIN

左表全部残す


JOIN条件

主キー = 外部キー


練習問題

問題

LEFT JOINの特徴として最も適切なものはどれか。

両方の表に存在する行のみ取得する

左側の表の行を全て取得する

右側の表の行を削除する

表を並び替える


解答

正解:イ

解説

LEFT JOINでは、左側テーブルの全行を取得し、対応データがない場合はNULLを設定します。


まとめ

JOINとは

「複数表を結合する機能」


超重要

  • INNER JOIN
  • LEFT JOIN
  • 主キー
  • 外部キー
  • NULL

まずは、

「JOIN=表をつなぐ」

「INNER=共通部分」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント