SQL 問題 その5

  問題 ①



sql01 sql02 sql03 sql04 sql05 sql06 販売管理B.mdb のダウンロード




商品マスタと商品分類を旧形式の内部結合 (SQL92) で記述したサンプルを以下に示します

  
select 
   商品マスタ.商品コード,
   商品マスタ.商品名 
 from 商品マスタ,商品分類マスタ
 where 
   商品マスタ.商品分類 = 商品分類マスタ.商品分類
   and 商品マスタ.商品分類 = 'A01'
  

商品コード商品名
0022野菜-------------------0022
0085野菜-------------------0085

これと同じ内容を INNER JOIN で記述して下さい (SQL99)

MySQLでテスト



  問題 ②



UNION を使用すると二つの query の結果を結合する事ができます

  
select 
   商品コード,
   商品名, 
   商品分類 
 from 商品マスタ
 where 
   商品分類 = 'A01'
union
select 
   商品コード,
   商品名, 
   商品分類 
 from 商品マスタ
 where 
   商品分類 = 'A02'
  

商品コード商品名商品分類
0017インスタントラーメン-----------0017A02
0022野菜-------------------0022A01
0074インスタントラーメン-----------0074A02
0085野菜-------------------0085A01
0086インスタントラーメン-----------0086A02

これ (UNION) を利用して以下のような結果 (架空の行) を作成して下さい

商品コード商品名商品分類
0022野菜-------------------0022A01
0085野菜-------------------0085A01
9001仮商品AAA



  問題 ③

問題 ②で作成した query をインラインビューとして使用して、
商品分類マスタと内部結合 (INNER JOIN) して下さい

商品コード商品名商品分類名称
0022野菜-------------------0022A01野菜
0085野菜-------------------0085A01野菜



  問題 ④

問題 ③で作成した query を LEFT OUTER JOIN に変更して、以下のような結果を出力して下さい

商品コード商品名商品分類名称
0022野菜-------------------0022A01野菜
0085野菜-------------------0085A01野菜
9001仮商品AAA



  問題 ⑤

select ~ into を使用して以下のデータを持つ商品B というテーブルを作成して下さい

商品コード商品名商品分類商品区分
0022野菜-------------------0022A010
0085野菜-------------------0085A010
9001仮商品AAA



  問題 ⑥

商品B にコード名称マスタを外部結合すると以下のようになります

  
select
 商品B.*,
 コード名称マスタ.名称
 from 商品B
 left outer join コード名称マスタ
 on 商品B.商品区分 = コード名称マスタ.コード
 where
   コード名称マスタ.区分 = 3
   or コード名称マスタ.区分 is null
  

商品コード商品名商品分類商品区分名称
0022野菜-------------------0022A010通常
0085野菜-------------------0085A010通常
9001仮商品AAA

これにさらに 商品分類を外部結合して下さい

商品コード商品名商品分類商品区分区分名分類名
0022野菜-------------------0022A010通常野菜
0085野菜-------------------0085A010通常野菜
9001仮商品AAA










  infoboard   管理者用   





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ