表の結合

SELECT文では複数の表を組み合わせて使用することができる。ここでは、以下の表とデータを使って表の結合について解説する。

表

表の結合をおこなう場合は、WHERE句で表の結合条件を指定する。記述形式はつぎのとおりである。

INNER JOINLEFT JOINRIGHT JOINを使って表を結合することもできる。

SELECT文における表の結合の記述形式

SELECT 列名1,列名2,〜列名n ← どの列を表示させるか
FROM 表名(テーブル名) ← 使用する表をすべて記述する
WHERE 表名1.列名 = 表名2.列名 ← 表の結合条件

《例題1》

売上表の顧客CDと、顧客表の顧客CDが一致する行を表示させる。

SELECT文

SELECT *
FROM 売上表,顧客表 ← 使用する表をすべて記述する
WHERE 売上表.顧客CD=顧客表.顧客CD

売上表の顧客CDと顧客表の顧客CDが一致する行で表を結合する

表の結合結果

実行結果からもわかるように表の結合は、結合条件で指定された列を参照していると考えることもできる。

WHERE句で 「売上表.顧客CD=顧客表.顧客CD」のように表名.列名と指定している。これは、同じ列名がそれぞれの表に存在しているためである。同じ列名が存在するときは、表名.列名と記述し、どの表の列であるか明記しなくてはならない。

Point

同じ名前の列名が存在するときは、表名.列名と記述し、どの表の列であるか明示しなければならない