表を結合し、抽出条件を指定する
表を結合してさらに抽出条件を指定することも可能である。そのときは、表の結合条件のあとにANDを使って抽出条件を記述する。
SELECT文における表の結合と抽出条件の記述形式
SELECT 列名1,列名2,〜列名n ← どの列を表示させるか
FROM 表名(テーブル名) ← どの表(テーブル)から
WHERE 表名1.列名 = 表名2.列名 AND 抽出条件
《例題1》
売上明細と商品表から、売上Noが1の売上No、商品名、単価、数量と単価*数量を表示する。
SELECT文
SELECT 売上No,商品名,単価,数量, 単価*数量
FROM 商品表, 売上明細
WHERE 商品表.商品CD=売上明細.商品CD AND 売上No=1
↑
商品表の商品CDと売上明細の商品CDが一致する行で表を結合する。かつ売上Noが1であるものを抽出する
− 実行結果 −
商品表の商品CDと売上明細の商品CDが一致すする行で表を結し、売上Noが1であるものが抽出されている。
なお、計算式はSELECT句だけではなくWHERE句に記述することができるので、抽出条件にすることができる。
《例題2》
売上明細と商品表から、単価*数量が5000以上の売上No、商品名、単価、数量と単価*数量を表示する。
SELECT文
SELECT 売上No,商品名,単価,数量, 単価*数量
FROM 商品表, 売上明細
WHERE 商品表.商品CD=売上明細.商品CD AND 単価*数量>=5000
↑
商品表の商品CDと売上明細の商品CDが一致する行で表を結合する。かつ単価*数量が5000以上のものを抽出する。
− 実行結果 −
商品表の商品CDと売上明細の商品CDが一致する行で表を結する。かつ単価*数量が5000以上のものが抽出されている。