初詣合格祈願SQL講座

SQL講座 複数の表の連携1

目指せ!SQL

初詣合格祈願SQL講座 複数の表の連携1

表の結合(内部結合)

SQLでは複数の表を組み合わせて使用することができます。

記述形式 SELECT 列名1,列名2,〜列名n ・・・ 表示させたい列名
FROM 表名1,表名2,表名n ・・・ 使用する表
WHERE 表名1.フィールド名 = 表名2.フィールド名 ・・・ 表の結合条件

<例題>
売上表の顧客CDと顧客表の顧客CDが一致する行を表示させる。(表の結合)

商品表(主キー:商品コード)
商品CD商品名単価
10鉛筆30
20消しゴム50
30シャープペン250
40ボールペン150
50色鉛筆700
60ノート100

売上No日付顧客CD
12001/05/27105
22001/05/27101
32001/05/27103
42001/06/27102
52001/06/27104

売上明細(主キー:売上No,連番)
売上No連番商品CD数量
111010
12307
136025
212015
22403
31308
324030
335012
346050
412021
424021
511017
52205

顧客表(主キー:顧客CD)
顧客CD顧客名
101二島商店
102姫路商事
103大阪物産
104神戸商店
105福岡商事

SELECT * ← すべての列
FROM 売上表,顧客表
WHERE 売上表.顧客CD=顧客表.顧客CD ← 売上表の顧客CDと顧客表の顧客CD が一致する行を結合

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

SELECT文



初詣合格祈願SQL講座ページTOPに戻る