内部結合(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を結合することになります。