JOIN (結合)の基本と種類について

JOIN (結合)の基本と種類について

複数のテーブルからデータを取得する際に必要になってくるのが、JOIN (結合)です。

SQL Server の JOIN のタイプには次のようなものがあります。


JOIN の種類

後ほど、ひとつひとつ詳しくサンプルと共に見ていきますが、ここでざっくりと種類と違いをご紹介します。


INNER JOIN (内部結合)

ON で指定した条件が、結合する両方のテーブルにマッチするレコードのみを返します。

JOIN (結合)の基本と種類について 1


LEFT (OUTER) JOIN (左外部結合)

結合の左側のテーブルの全レコードと、ON で指定した条件がマッチする右側のレコードのみを返します。

JOIN (結合)の基本と種類について 2


RIGHT (OUTER) JOIN (右外部結合)

結合の右側のテーブルの全レコードと、ON で指定した条件がマッチする左側のレコードのみを返します。

混乱しやすいので、私はあんまり使わないです。 そのような状況では、テーブルの左右を入れ替えてLEFT (OUTER) JOIN を使います。

JOIN (結合)の基本と種類について 3


FULL (OUTER) JOIN (完全外部結合)

ON で指定した条件がマッチするレコードに加えて、マッチしない左右の両方のテーブルのレコードも返します。

JOIN (結合)の基本と種類について 4


CROSS JOIN (クロス結合)

CROSS JOIN は他の 4 つの JOIN と少し違って、ON で条件を指定せず、左右両方のテーブルの全てのコンビネーションの行を返します。

結果で得られるレコード数は [ 左のテーブルのレコード数 ] x [ 右のテーブルのレコード数 ] になります。

JOIN (結合)の基本と種類について 5

便利な時があるのですが、ちょっとわかりにくいので後ほどサンプルと共に説明します。


それでは、INNER JOIN (内部結合)を使ってデータを取得してみましょう。

© 2010-2024 SQL Server 入門