2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQL joinのイメージ

Last updated at Posted at 2019-07-01

はじめに

業務でクエリ文を書いてjoinの使い方のイメージが集合関係で考えるとわかりやすいと思ったので、それについてメモ

#結論
inner がつくjoinの仕方は集合論でいう「かつ」になる
outer がつくjoinの仕方は基準にするテーブルが全体集合としてjoinしたいテーブルのカラムがくっ付いた形になる
参考画像の2段目のような集合になる

参考画像は以下の通り

sql-joins.png

画像引用元
https://www.dofactory.com/sql/join

inner join

これは結論で書いたように結合したい条件を共に満たすテーブルを用意できる。

select * from A inner join B on <条件>

このコードでAというテーブルとBというテーブルをくっつける際に、条件を満たすデータしか用意しない。
満たさないデータは、テーブルから除ける

right outer join

これは、参考画像の2段目右側の画像のような集合になる。

select * from A right outer join B <条件>

このコードでAというテーブルとBというテーブルを右側のBテーブルを基準に条件を参照してくっつける。
基準にするときはBテーブルの全ての行を参照して条件を満たさないデータはNULLを入れてくっつける。

left outer join

これは、参考画像の2段目の左側のような集合になる。

select * from A left outer join B <条件>

これはright outer joinとほとんど同様で、
左側のAテーブルを基準に条件を参照してAとBテーブルをつなぐ。
基準にするときはAテーブルの全ての行を参照して条件を満たさないデータはNULLを入れてくっつける。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?