【SQL】『スッキリわかるSQL入門』7章の読書メモ

f:id:hira98:20190609162011p:plain

【結論】

  • 戦隊ロボは結合することで、巨大な敵に立ち向かうことができる。

  • 戦隊ロボにできることは、当然SQLにもできる。

  • SQLではJOINを使うことで、2つのテーブルを結合することができる。

【目次】

はじめに

JOIN文の書き方

2つ以上の表をJOINを使って結合する際の書き方は以下です。

SELECT 列名1, 列名2
 FROM テーブルA(左)
 JOIN テーブルB(右)
  ON テーブルA,Bの結合条件

JOIN文の種類

ONで条件指定した列が、テーブルA、Bの両方に必ず存在するとは限らず、色々なパターンがあります。 これをベン図で表したのが下図です。

f:id:hira98:20190609162039p:plain

図の説明は以下の通りです。

  • 赤丸の内側がテーブルAの条件を満たすエリア
  • 青丸の内側がテーブルBの条件を満たすエリア
  • (1)がテーブルAの条件は満たすが、テーブルBの条件を満たさないエリア
  • (2)がテーブルBの条件は満たすが、テーブルAの条件は満たさないエリア
  • (3)がテーブルAとBの両方の条件を満たすエリア
  • (4)ががテーブルAとBの両方の条件を満たさないエリア

上図から2つのテーブルを結合する際の組み合わせとして、次のような結合条件が考えられます。

  • パターン1 → (1)
  • パターン2 → (2)
  • パターン3 → (3)
  • パターン4 → (4)
  • パターン5 → (1)と(2)
  • パターン6 → (2)と(3)
  • パターン7 → (1)と(2)と(3)

この内どのパターンで結合するかによって、下図のように使用するJOINを変更します。

f:id:hira98:20190609162052j:plain

※上図はVisual Representation of SQL Joinsの引用です。

参考情報

スッキリわかるSQL入門 ドリル215問付き! - インプレスブックス

Visual Representation of SQL Joins

さいごに

今回の記事は、研修担当に報告した日報に「不足情報」と「おふざけ情報」を追加することで書き上げました😛