LoginSignup
0
0

More than 5 years have passed since last update.

MySQLでJOINをしたいから練習してみた。

Last updated at Posted at 2018-09-07

SQLでJOINを使いこなす

という目標を立てて15分間だけ頑張りました。(´ω`)

複数のテーブルを跨いで情報をもたせているものがある場合にフレームワークのmodelのような仕組みのない場合にJOINを使って1度のSQLで目的の情報を取得したい状況を想定します。

tableの構成

  • tableA
    • column (id, name, group_name)
  • tableB
    • column (id, A_id, disable)

やりたいこと

名前を元にtableAのグループ名とtableBの詳細を取り出したい!!
(ちょっと考えるのが面倒だったので需要があれば書き換えます!テキトー魂!)

「でもSQLは1回しか叩きたくない!!」

SQLのコード

SELECT A.id, A.name, A.group_name, B.disable
FROM tableA AS A
LEFT JOIN tableB AS B
ON A.id = B.A_id
WHERE A.name = ?;

「?」に値を入れる!!

説明

しれっと使った「エイリアス」→別名

FROM tableA AS Aってなんだよ!
って思ったら「sql エイリアス」で調べて見てください。
ざっくり言えばtableAって長いからお前の名前はAな!!ってことです。

LEFT JOIN

// 抜粋
FROM tableA AS A
LEFT JOIN tableB AS B

LEFT JOINは左のテーブルを親にして右のテーブルを連結するよ~てやつ!

ON ほげほげ~

// 抜粋
ON A.id = B.A_id

ONJOINしたテーブル同士のどのカラムが対応しているものを検索するかって時に使います!

まとめ

「JOINは怖くないよ!コードは友達!!」
さて、あんまり遊んでると怒られちゃうのでこのへんで失礼します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0