[ソフ技] データの結合

woody_1227 オーナー 公式アカウント

INNER JOIN
OUTER JOIN
ログインすると、チェック機能を利用できるようになります。
データの結合方法には、 結合( )と 結合( )があり、特に 結合には、 結合( )と 結合( )がある。

内部結合(INNER JOIN)

内部結合を行うと、2つのテーブル両方にデータが存在する行のみを取り出す。(つまり、NULLは含まれない。)

構文

内部結合の記述方法には次の2つがある。
SELECT 列名1, 列名2, ... FROM テーブル名1, テーブル名2 テーブル名1.列名A = テーブル名2.列名B
SELECT 列名1, 列名2, ... FROM テーブル名1 テーブル名2 テーブル名1.列名A = テーブル名2.列名B

外部結合(OUTER JOIN)

外部結合を行うと、指定した1つのテーブル(SQLコマンド上で指定したテーブルのうち、左側(LEFT)または右側(RIGHT)のテーブル)を基準にし、結合を行う。
このため、基準となるテーブルに存在する行の全てが表示される。
もう1つのテーブルに該当する値がない場合は、NULLが表示される。

構文

SELECT 列名1, 列名2, ... FROM テーブル名1 テーブル名2 テーブル名1.列名A = テーブル名2.列名B


[補足]上の説明の「基準となるテーブル」は次のように決定されます。

例えば、
... テーブル名1 LEFT OUTER JOIN テーブル名2 ...
と記述すると、テーブル1を基準にし、テーブル2を結合します。
逆に、
... テーブル名1 RIGHT OUTER JOIN テーブル名2 ...
と記述すると、テーブル2を基準にし、テーブル1を結合します。

つまり、
... テーブル名2 RIGHT OUTER JOIN テーブル名1 ...
と記述すると、1つ目の例と同じように、テーブル1を基準にし、テーブル2を結合することになります。