SQL - CREATE / DROP VIEW 文


■内容

Top

■視点(ビュー)

Top

■CREATE VIEW 文の基本

Top
■例題
  1. 担当者表(employee)から、担当者ID(emp_id)、担当者名(emp_name)、入社年月日(hiredate)を照会する視点empを作成してください。
    => CREATE VIEW emp 
           AS SELECT emp_id, emp_name, hiredate FROM employee
       ;
    DB20000I  SQL コマンドが正常に終了しました。
    
    => SELECT * FROM emp;
    EMP_ID      EMP_NAME             HIREDATE
    ----------- -------------------- ----------
              1 羽生 章洋            1990-12-17
              2 釜本 喜美子          1991-02-20
              3 安部 弘江            1991-02-22
              4 松村 秀和            1991-04-02
              5 萩原 恵理子          2008-09-28
              6 岡田 奈緒子          2007-05-01
              7 井上 尚志            2000-11-15
              8 西口 麻衣子          2008-12-03
              9 滝本 順三            2004-12-18
             10 工藤 新一            1999-04-01
             11 毛利光太郎           1990-04-01
    
      11 レコードが選択されました。
    
    
  2. 担当者表(employee)から、性別(sex)が男性(1)の担当者ID(emp_id)、担当者名(emp_name)、入社年月日(hiredate)を照会する視点empmailを作成してください。
    => CREATE VIEW empmail
           AS SELECT emp_id, emp_name, hiredate FROM employee
                     WHERE sex = 1
       ;
    CREATE VIEW
    
    => SELECT * FROM empmail;
    EMP_ID      EMP_NAME             HIREDATE
    ----------- -------------------- ----------
              1 羽生 章洋            1990-12-17
              4 松村 秀和            1991-04-02
              7 井上 尚志            2000-11-15
              9 滝本 順三            2004-12-18
             10 工藤 新一            1999-04-01
             11 毛利光太郎           1990-04-01
    
      6 レコードが選択されました。
    
  3. 担当者表(employee)と部門表(department)から、担当者ID(emp_id)、担当者名(emp_name)、部門ID(dept_id)、部門名(dept_name)を照会してください。
    CREATE VIEW employeelist AS
        SELECT e.emp_id, emp_name, d.dept_id, dept_name 
            FROM employee e JOIN department d ON e.dept_id = d.dept_id
    
    結果
    => SELECT * FROM employeelist
    EMP_ID      EMP_NAME             DEPT_ID     DEPT_NAME
    ----------- -------------------- ----------- --------------------
              1 羽生 章洋                     10 営業部
              2 釜本 喜美子                   10 営業部
              3 安部 弘江                     20 開発部
              4 松村 秀和                     20 開発部
              5 萩原 恵理子                   30 企画部
              6 岡田 奈緒子                   30 企画部
              7 井上 尚志                     30 企画部
              8 西口 麻衣子                   40 管理部
              9 滝本 順三                     40 管理部
             10 工藤 新一                     40 管理部
    
      10 レコードが選択されました。
    
Top
■実習
  1. 商品表(goods)とレシピ表(recipe)、食材表(food)から、商品を作る食材の商品コード(goods_cd)、商品名(goods_name)、価格(price)、食材コード(food_cd)、食材名(food_name)、仕入単価(supplier_cost)、仕入単位(supplier_unit)、変換係数(convert_cost)、レシピ単位(recipe_unit)、必要数量(necessary_num)、コスト(必要数量(necessary_num) * 仕入単価(supplier_cost) / 変換係数(convert_cost))に別名"cost"として、cost順に照会する商品コスト視点"goods_cost"を作成してください。なお、販売開始日(sales_start)と、作成方法(manual_text)列も視点の列として入れてください。

    結果

    $ db2 list tables
    
    表/ビュー
                                                       スキーマ  タイプ  作成時刻
    ------------------------------- --------------- ----- --------------------------
    FOOD                            ADMINISTRATOR   T     2005-04-26-16.42.30.500000
    GOODS                           ADMINISTRATOR   T     2005-04-26-16.42.29.828000
    GOODS_COST                      ADMINISTRATOR   V     2005-04-26-16.56.31.281001
    RECIPE                          ADMINISTRATOR   T     2005-04-26-16.42.30.125002
    SUPPLIER                        ADMINISTRATOR   T     2005-04-26-16.42.30.812000
    
      5 レコードが選択されました。
    
    => SELECT * FROM goods_cost;
    
    GOODS_CD GOODS_NAME                               PRICE       FOOD_CD FOOD_NAME                                SUPPLIER_COST SUPPLIER_UNIT CONVERT_COST RECIPE_UNIT NECESSARY_NUM COST       SALES_START MANUAL_TEXT ...(略)
    -------- ---------------------------------------- ----------- ------- ---------------------------------------- ------------- ------------- ------------ ----------- ------------- ---------- ----------- -------------------
    102101   ライス                                           160 201101  新潟こしひかり                                     350 Kg                    1000 g                  100.00      35.00 2003-05-15  -            
    101201   ミートソース                                     780 201104  スパゲティスピガドロ                              1700 ケース                 200 g                  100.00     850.00 2003-05-15  (1).下茹でさ 
    102103   トースト                                         160 201106  8枚スライス                                       190 本                       8 枚                   2.00      47.50 2003-05-15  -            
    102102   パン                                             160 201107  バターロール                                       100 袋                      12 個                   1.00       8.33 2003-05-15  -            
    102102   パン                                             160 201108  冷凍イギリスパン                                  1120 ケース                 120 個                   1.00       9.33 2003-05-15  -            
    101201   ミートソース                                     780 201109  博多の塩                                           200 本                     500 g                    0.50       0.20 2003-05-15  (1).下茹でさ 
    101004   ビーフカツランチ                                 880 201110  濃口しょうゆ                                      1680 ケース               12000 cc                   5.00       0.70 2003-07-01  (1).パネされ 
    101004   ビーフカツランチ                                 880 201111  ウスターソース                                    1680 ケース               12000 cc                   5.00       0.70 2003-07-01  (1).パネされ 
    101401   とんかつ定食                                    1000 201112  中濃ソース                                        1680 ケース               12000 cc                  20.00       2.80 2003-07-01  -            
    101004   ビーフカツランチ                                 880 201112  中濃ソース                                        1680 ケース               12000 cc                  10.00       1.40 2003-07-01  (1).パネされ 
    101201   ミートソース                                     780 201113  冷凍ミートソース                                  2250 ケース                  60 袋                   1.00      37.50 2003-05-15  (1).下茹でさ 
    101201   ミートソース                                     780 201114  サラダ油                                          1200 ケース               12000 cc                  30.00       3.00 2003-05-15  (1).下茹でさ 
    101004   ビーフカツランチ                                 880 201114  サラダ油                                          1200 ケース               12000 cc                  30.00       3.00 2003-07-01  (1).パネされ 
    101401   とんかつ定食                                    1000 201114  サラダ油                                          1200 ケース               12000 cc                  30.00       3.00 2003-07-01  -            
    101401   とんかつ定食                                    1000 201115  ゴマ油                                            1400 ケース                1200 cc                   5.00       5.83 2003-07-01  -            
    101004   ビーフカツランチ                                 880 201115  ゴマ油                                            1400 ケース                1200 cc                   5.00       5.83 2003-07-01  (1).パネされ 
    101401   とんかつ定食                                    1000 201116  ラード                                             900 ケース               12000 g                   10.00       0.75 2003-07-01  -            
    101004   ビーフカツランチ                                 880 201116  ラード                                             900 ケース               12000 g                   10.00       0.75 2003-07-01  (1).パネされ 
    101201   ミートソース                                     780 201118  エキストラバージンオイル                          2280 箱                    1200 cc                   5.00       9.50 2003-05-15  (1).下茹でさ 
    101401   とんかつ定食                                    1000 201121  刻みキャベツ                                      1380 ケース               12000 g                   50.00       5.75 2003-07-01  -            
    101004   ビーフカツランチ                                 880 201124  冷凍ほうれん草                                    1500 ケース                6000 g                   50.00      12.50 2003-07-01  (1).パネされ 
    101201   ミートソース                                     780 201127  オリーブオイル                                    1350 箱                    2400 cc                  10.00       5.62 2003-05-15  (1).下茹でさ 
    101306   アップルジュース                                 300 201128  クリアアップル100                                 2350 ケース               12000 cc                 150.00      29.37 2003-05-15  -            
    101305   オレンジジュース                                 300 201129  オレンジ100                                       2250 ケース               12000 cc                 150.00      28.12 2003-05-15  -            
    101201   ミートソース                                     780 201135  ブラックペッパー                                  1200 袋                     500 g                    0.50       1.20 2003-05-15  (1).下茹でさ 
    101401   とんかつ定食                                    1000 201141  豚ロース                                           350 Kg                    1000 g                  180.00      63.00 2003-07-01  -            
    101201   ミートソース                                     780 201142  フレッシュバジル                                   980 袋                     200 g                    1.00       4.90 2003-05-15  (1).下茹でさ 
    101201   ミートソース                                     780 201143  パセリ                                             380 袋                     200 g                    0.50       0.95 2003-05-15  (1).下茹でさ 
    101004   ビーフカツランチ                                 880 201143  パセリ                                             380 袋                     200 g                    5.00       9.50 2003-07-01  (1).パネされ 
    101401   とんかつ定食                                    1000 201143  パセリ                                             380 袋                     200 g                    5.00       9.50 2003-07-01  -            
    101301   コーヒー                                         250 201144  アイスコーヒー豆粗挽き                            4500 ケース               48000 cc                 200.00      18.75 2003-05-15  -            
    101004   ビーフカツランチ                                 880 201145  牛ロース肉                                         470 Kg                    1000 g                  120.00      56.40 2003-07-01  (1).パネされ 
    101304   アイスティ                                       300 201145  牛ロース肉                                         470 Kg                    1000 g                    2.00       0.94 2003-05-15  -            
    101303   紅茶                                             250 201145  牛ロース肉                                         470 Kg                    1000 g                    1.00       0.47 2003-05-15  -            
    101004   ビーフカツランチ                                 880 201146  トマトケチャップ                                  1100 箱                    2400 g                    5.00       2.29 2003-07-01  (1).パネされ 
    101004   ビーフカツランチ                                 880 201147  ナチュラルポテト                                  1200 ケース                3000 g                   50.00      20.00 2003-07-01  (1).パネされ 
    101303   紅茶                                             250 201148  レモン                                              80 個                       8 枚                   1.00      10.00 2003-05-15  -            
    101304   アイスティ                                       300 201148  レモン                                              80 個                       8 枚                   1.00      10.00 2003-05-15  -            
    102103   トースト                                         160 201150  ポーションバター                                  1980 箱                     100 個                   1.00      19.80 2003-05-15  -            
    102102   パン                                             160 201150  ポーションバター                                  1980 箱                     100 個                   1.00      19.80 2003-05-15  -            
    
      40 レコードが選択されました。
    

Top

■DROP VIEW 文の基本

Top
■例題
  1. 担当者リスト(employeelist)ビューを削除します。
    DROP VIEW employeelist
    
    結果
    
    
Top

■視点に対するDML文

Top
■例題
  1. 視点empを更新します。
    => UPDATE emp SETemp_name = '丸野 正', hiredate = current date 
              WHERE emp_id = 10
       ;
    UPDATE 0
    
    => SELECT * FROM employee;
    
    EMP_ID      DEPT_ID     EMP_NAME             BIRTHDAY   HIREDATE   SEX         SAL        
    ----------- ----------- -------------------- ---------- ---------- ----------- -----------
              1          10 羽生 章洋            1978-10-10 1990-12-17           1      800.00
              2          10 釜本 喜美子          1975-05-20 1991-02-20           2     1600.00
              3          20 安部 弘江            1974-06-01 1991-02-22           2     1250.00
              4          20 松村 秀和            1970-09-13 1991-04-02           1     2975.00
              5          30 萩原 恵理子          1985-03-16 2008-09-28           2     1250.00
              6          30 岡田 奈緒子          1983-12-24 2007-05-01           2     2850.00
              7          30 井上 尚志            1971-10-17 2000-11-15           1     2450.00
              8          40 西口 麻衣子          1986-12-14 2008-12-03           2     3000.00
              9          40 滝本 順三            1978-04-02 2004-12-18           1     5000.00
             10          40 丸野 正             1990-02-10 2005-04-26           1     1500.00
             11          90 毛利光太郎           1970-12-31 1990-04-01           1     8000.00
    
      11 レコードが選択されました。
    
Top

■構文

Top

inserted by FC2 system