SQLでは、膨大なデータが管理されているデータベースを扱うため、様々なデータを取得して分析することができます。
ここでは、MySQLでテーブル結合について簡単に解説します。
【この記事はこんな方に向けて書いています】
・SQLの勉強をしてデータベースを扱ってみたい
・MySQLで複数のテーブルを結合したい
【目次】
・JOIN
・WHEREで絞り込み
・LEFT JOIN
・まとめ
JOINを使うと、テーブルを結合することができます。
スーパーの食品コーナーに並んでいる商品を格納したテーブルを例に、簡単に解説します。
テーブル「items」のデータを取得します。
カラム「type」に野菜・調味料・飲料と書いていましたが、番号に変更しました。
新しくテーブル「type」を作り、野菜・調味料・飲料を番号で管理しました。
テーブル「type」のデータを取得します。
上記2つのテーブルを結合します。
JOINを使ってテーブルを結合するときは
SELECT * FROM テーブル名
JOIN テーブル名
ON 紐づけるカラム名;
と記述してEnterを押します。
テーブル「items」と、テーブル「type」をJOINで結合
カラム「type」と、カラム「type_id」を紐づける
というイメージです。
2つのテーブルを結合して、WHEREで「飲料」のデータを取得してみます。
「飲料」のデータを取得できました。
このように、テーブルを結合してからデータを絞り込むときは、結合するコマンドを書いてからWHEREで絞り込みます。
テーブル「type」の飲料データを削除しました。
データを取得します。
JOINを使って2つのテーブルを結合します。
テーブル「type」の飲料データがないため、結合しても飲料データは取得できませんでした。
結合するテーブルにデータがない箇所はデータなしでも良いから全体のデータを取得したいときにLEFT JOINを使います。
データなしの箇所はNULLとして、全体のデータを取得できました。
まとめ
・JOINを使うと、複数のテーブルを結合することができる
・結合するコマンドを書いてからWHEREで絞り込む
・データなしでも良いから全体のデータを取得したいときはLEFT JOINを使う
ここまで読んで頂きありがとうございました。
-------------------------------------------------------------------------------------
【関連記事】
SQLの環境構築「MySQL」
SQLの基礎:「MySQLの起動」
-------------------------------------------------------------------------------------
当ブログの記事一覧(カテゴリー別)