データベース 相関副問合せ
ホーム > 発行済み
読者の情報処理試験合格(シスアドから高度まで)を目指しています。
作者は、アプリケーションの開発を行なっているエンジニアです。
情報処理試験の知識(理論)を、日々の業務(実践)にどう生かしていくか、その辺りの事を意識
して、発行していきます。

データベース 相関副問合せとは


                                            
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        ★★ 『情報処理試験のお勉強(千里の道も一歩から)』 ★★
                           2004/10/31 第33号
        知識の習得は、本当に楽しいものです。
        それぞれの目標に向かって、一歩ずつ踏出して行きましょう。
     
     ----------------------------------------------------------------------
        まぐまぐ:946 めろんぱん:116 メル天:79 カプライト:86
        E-Magazine:91 Macky!:24 melma:41      総発部数:1383
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     
      秋期にネットワークに関する出題がある科目を受験しようと考えている方。
     
      テクニカルエンジニア(ネットワーク)、情報セキュアド、ソフ開、基本情報、
      上級・初級シスアド、アプリケーションエンジニアを受験しようかと考えている
      方は、まちがいなく、申込みしておいた方が良いですよ。
      
      試験範囲の技術習得の手助けになります。
      
      ・「5分でわかる最新キーワード解説」
      ・「ネットワーク早わかり講座」
      ・「運用コストを減らすワザ50」
      ・「すご腕アナリスト市場予測」
     
      今すぐ、無料登録をして、試験対策の準備が出来る環境を、作っておくことを
      お薦めしています。
     
       実力の習得は、日頃の努力です。 貪欲に知識の習得をしましょう。
       
       ▽ http://jstudy.fc2web.com/keyman2.html
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


       今回の問題は、テクニカルエンジニア(データベース)からの出題ですが
       ソフトウェア開発、基本情報でも十分出題される内容です。
       シスアドの受験者は軽く目を通しておきましょう。
       実務では良く使われる相関副問合せの内容です。
     
       『テクニカルエンジニア(データベース) 午前平成14年問31』
     
     
      "製品"表と"在庫"表に対して, 次のSQL文を実行した場合, 実行結果として得
     られる表の行数は幾つか。
     
       SELECT 製品番号 FROM 製品
           WHERE NOT EXISTS( SELECT 製品番号 FROM 在庫
                        WHERE 製品番号 = 製品.製品番号 AND 在庫数 > 30 )
     
     製品                  在庫
     ┌────┬────────┬───┐ ┌─────┬────┬───┐
     │製品番号│  製品名   │ 単価 │ │倉庫コード│製品番号│在庫数│
     ┝━━━━┿━━━━━━━━┿━━━┥ ┝━━━━━┿━━━━┿━━━┥
     │ AB1805 │CD-ROMドライブ │15,000│ │ WH100  │ AB1805 │  20 │
     ├────┼────────┼───┤ ├─────┼────┼───┤
     │ CC5001 │ディジタルカメラ│65,000│ │ WH100  │ CC5001 │ 200 │
     ├────┼────────┼───┤ ├─────┼────┼───┤
     │ MZ1000 │プリンタ A   │54,000│ │ WH100  │ ZZ9900 │ 130 │
     ├────┼────────┼───┤ ├─────┼────┼───┤
     │ XZ3000 │プリンタ B   │78,000│ │ WH101  │ AB1805 │ 150 │
     ├────┼────────┼───┤ ├─────┼────┼───┤
     │ ZZ9900 │イメージスキャナ│98,000│ │ WH101  │ XZ3000 │  30 │
     └────┴────────┴───┘ ├─────┼────┼───┤
                         │ WH102  │ XZ3000 │  20 │
                         ├─────┼────┼───┤
                         │ WH102  │ ZZ9900 │  10 │
                         ├─────┼────┼───┤
                         │ WH103  │ CC5001 │  40 │
                         └─────┴────┴───┘
     
        ア 1
       
        イ 2
       
        ウ 3
       
        エ 4
     
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
      メールマガジンがずれて見える方は、
       http://www.mag2.com/faq/mua.htm を参考にしてください。
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



合格を勝取るにはコレ!! 絶対に読んでおくべきです。

▽ http://www.mag2.com/m/0000120201.htm



      『 解説 』
     
     >   SELECT 製品番号 FROM 製品
     >     WHERE NOT EXISTS( SELECT 製品番号 FROM 在庫
     >        WHERE 製品番号 = 製品.製品番号 AND 在庫数 > 30 )
     
       この様な、SQL文は相関副問合せと言います。
       相関副問合せとは、副問合せの中のWHERE句の探索条件が、副問合せの
       外で指定された表の列を参照している問合わせのことですね。
     
       具体的に言うと
     
     > 1 SELECT 製品番号 FROM 製品
     > 2    WHERE NOT EXISTS( SELECT 製品番号 FROM 在庫
     > 3       WHERE 製品番号 = 製品.製品番号 AND 在庫数 > 30 )
     
       3行目の「WHERE 製品番号 = 製品.製品番号」で
       1行目の「製品」を参照しているからですね。
     
       この様なSQL文を相関副問合せと言います。
     
     
     
       実は、上記のSQL文は、書き換えが可能です。
       全く同じ結果を返すSQL文を書くことが出来ます。
       以下のSQL文が同じ結果を返します。
     
        SELECT 製品番号 FROM 製品
            WHERE 製品番号 NOT IN( SELECT 製品番号 FROM 在庫
                                     AND 在庫数 > 30 )
     
     
       NOT EXISTS  は  NOT IN  で書きかえることが出来ます。 勿論、
       NOT IN  も  NOT EXISTS  で書きかえることが出来ます。
     
     
     
       では、検索結果を導き出してみましょう。
       相関副問合わせ、副問合せ共に、副問合せの中から見ていきます。
     
       [副問合せの中]
     >  SELECT 製品番号 FROM 在庫
     >      WHERE 製品番号 = 製品.製品番号 AND 在庫数 > 30 
     
       在庫表から在庫数が30個より上の製品番号をピックアップします。
     
     
        在庫
        ┌─────┬────┬───┐
        │倉庫コード│製品番号│在庫数│
        ┝━━━━━┿━━━━┿━━━┥
        │ WH100  │ CC5001 │ 200 │
        ├─────┼────┼───┤
        │ WH100  │ ZZ9900 │ 130 │
        ├─────┼────┼───┤
        │ WH101  │ AB1805 │ 150 │
        ├─────┼────┼───┤
        │ WH103  │ CC5001 │  40 │
        └─────┴────┴───┘
     
        この4行が、対象となりますね。
        (在庫数30の行は、対象とならないことに注意しましょう。
        在庫数 >= 30 だったら対象となりますね。)
     
     
       次に、副問合せの外のSQLを見ていきます。
     
       [副問合せの中]
       SELECT 製品番号 FROM 製品
             WHERE NOT EXISTS( 
     
     
       製品表から副問合せの中から対象となったものを外しなさいという
       事ですね。(NOT EXISTS、NOT IN 共に)
       つまり 製品番号が「 CC5001 」、「ZZ9900」、「AB1805」、「 CC5001」
       のものを外しなさいということですね。
     
     
       製品                 
       ┌────┬────────┬───┐
       │製品番号│  製品名   │ 単価 │
       ┝━━━━┿━━━━━━━━┿━━━┥
       │ MZ1000 │プリンタ A   │54,000│
       ├────┼────────┼───┤
       │ XZ3000 │プリンタ B   │78,000│
       └────┴────────┴───┘
     
     
       この2行が検索結果となりますね。
       正解は「イ」となります。
     



合格を勝取るにはコレ!! 絶対に読んでおくべきです。

▽ http://www.mag2.com/m/0000120201.htm



     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     
     
     『編集後記』
     
      皆様、こんばんは。
      「情報処理試験のお勉強(千里の道も一歩から)」発行者のメガフラです。
     
      お蔭様で、このHP、メルマガを立ち上げて、ようやく1年を向かえること
      が出来ました。
      これも、購読してくれる皆様、メルマガを発行させてくれているメルマガ
      サイト、HPを無料で公開させてくれる運営サイトなど、様々な人が支えて
      くれているお陰だと思っています。
     
      本当に、ありがとうございます。
     
      これからも、出来る限り頑張って、やっていきたいと思っています。
     
     
       情報処理試験のお勉強(千里の道も一歩から)
        ▽ http://jstudy.fc2web.com/
     
     
      これからもどうぞ、宜しくお願い致します。
     
     
     
     
     『お願い』
     
       来年4月、受験を考えている方などに、情報処理試験のお勉強
       (千里の道も一歩から)を、紹介してあげてください。
       このメールマガジン自身も、千里の道を一歩ずつ、着実に頑張っていきます。
     
      「情報処理試験のお勉強(千里の道も一歩から)」
       まぐまぐ  :http://www.mag2.com/m/0000120201.htm
       めろんぱん :http://www.melonpan.net/mag.php?005485
       メル天   :http://melten.com/m/16380.html
       カプライト :http://cgi.kapu.biglobe.ne.jp/m/8670.html
       E-MAGAZINE :http://www.emaga.com/info/megafri.html
       Macky!   :http://macky.nifty.com/cgi-bin/bndisp.cgi?M-ID=megafriday
       melma!   :http://www.melma.com/mag/20/m00102220/index_bn.html
     
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       『 情報処理試験のお勉強(千里の道も一歩から) 』
       作者  :メガフラ(megafriday@yahoo.co.jp)
       HP  :http://jstudy.fc2web.com/
       発行周期:隔週
     
      以下のスタンドより、発行させて頂いています。
      配信登録、配信中止も以下のアドレスよりお願いします。
     
      まぐまぐ  :http://www.mag2.com/m/0000120201.htm
      めろんぱん :http://www.melonpan.net/mag.php?005485
      メル天   :http://melten.com/m/16380.html
      カプライト :http://cgi.kapu.biglobe.ne.jp/m/8670.html
      E-MAGAZINE :http://www.emaga.com/info/megafri.html
      Macky!   :http://macky.nifty.com/cgi-bin/bndisp.cgi?M-ID=megafriday
      melma!   :http://www.melma.com/mag/20/m00102220/index_bn.html
     
     ----------------------------------------------------------------------
     <免責事項>掲載されているいかなる情報により損害を被っ
      ても、当方では責任を負いませんことをご了承ください。
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     





情報処理試験のお勉強(千里の道も一歩から) (マガジンID:0000120201)

メールアドレス:
メールアドレス:

Powered by まぐまぐ


メインメニューに戻る

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送