表の結合
SELECT文では複数の表を組み合わせて使用することができる。ここでは、以下の表とデータを使って表の結合について解説する。
表の結合をおこなう場合は、WHERE句で表の結合条件を指定する。記述形式はつぎのとおりである。
INNER JOIN、LEFT JOINやRIGHT 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
同じ名前の列名が存在するときは、表名.列名と記述し、どの表の列であるか明示しなければならない