読者の情報処理試験合格(シスアドから高度まで)を目指しています。 作者は、アプリケーションの開発を行なっているエンジニアです。 情報処理試験の知識(理論)を、日々の業務(実践)にどう生かしていくか、その辺りの事を意識 して、発行していきます。 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★★ 『情報処理試験のお勉強(千里の道も一歩から)』 ★★ 2004/06/20 第24号 知識の習得は、本当に楽しいものです。 それぞれの目標に向かって、一歩ずつ踏出して行きましょう。 ---------------------------------------------------------------------- まぐまぐ:780 めろんぱん:92 メル天:64 カプライト:73 E-Magazine:70 Macky!:26 melma:17 総発部数:1122 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 秋期にネットワークに関する出題がある科目を受験しようと考えている方。 テクニカルエンジニア(ネットワーク)、情報セキュアド、ソフ開、基本情報、 上級・初級シスアド、アプリケーションエンジニアを受験しようかと考えている 方は、まちがいなく、申込みしておいた方が良いですよ。 試験範囲の技術習得の手助けになります。 ・「5分でわかる最新キーワード解説」 ・「ネットワーク早わかり講座」 ・「運用コストを減らすワザ50」 ・「すご腕アナリスト市場予測」 今すぐ、無料登録をして、試験対策の準備が出来る環境を、作っておくことを お薦めしています。 実力の習得は、日頃の努力です。 貪欲に知識の習得をしましょう。 ▽ http://jstudy.fc2web.com/keyman2.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 『テクニカルエンジニア(データベース) 午前平成16年問32』 "商品"表と"売上明細"表に対して,次の SQL 文を実行した結果の表として, 正しいものはどれか。 ここで,結果の表中の"-"は,値が空値(NULL)であるこ とを示す。 SELECT X.商品番号, 商品名, 数量 FROM 商品 X LEFT OUTER JOIN 売上明細 Y ON X.商品番号 = Y.商品番号 商品 ┌────┬───┐ │商品番号│商品名│ ├────┼───┤ │ S101 │ A │ ├────┼───┤ │ S102 │ B │ ├────┼───┤ │ S103 │ C │ ├────┼───┤ │ S104 │ D │ └────┴───┘ 売上明細 ┌────┬─────┬────┬──┬────┐ │売上番号│ 売上日 │商品番号│数量│売上金額│ ├────┼─────┼────┼──┼────┤ │ U001 │2004/02/10│ S101 │ 5 │ 7,500 │ ├────┼─────┼────┼──┼────┤ │ U002 │2004/02/26│ S104 │ 2 │ 4,000 │ ├────┼─────┼────┼──┼────┤ │ U002 │2004/02/26│ S101 │ 10 │ 15,000 │ ├────┼─────┼────┼──┼────┤ │ U003 │2004/03/05│ S103 │ 5 │ 5,000 │ ├────┼─────┼────┼──┼────┤ │ U003 │2004/03/05│ S104 │ 8 │ 16,000 │ └────┴─────┴────┴──┴────┘ ア ┌────┬───┬──┐ │商品番号│商品名│数量│ ├────┼───┼──┤ │ S101 │ A │ 5 │ ├────┼───┼──┤ │ S101 │ A │ 10 │ ├────┼───┼──┤ │ S102 │ B │ - │ ├────┼───┼──┤ │ S103 │ C │ 5 │ ├────┼───┼──┤ │ S104 │ D │ 2 │ ├────┼───┼──┤ │ S104 │ D │ 8 │ └────┴───┴──┘ イ ┌────┬───┬──┐ │商品番号│商品名│数量│ ├────┼───┼──┤ │ S101 │ A │ 5 │ ├────┼───┼──┤ │ S101 │ A │ 10 │ ├────┼───┼──┤ │ S103 │ C │ 5 │ ├────┼───┼──┤ │ S104 │ D │ 2 │ ├────┼───┼──┤ │ S104 │ D │ 8 │ └────┴───┴──┘ ウ ┌────┬───┬──┐ │商品番号│商品名│数量│ ├────┼───┼──┤ │ S101 │ A │ 15 │ ├────┼───┼──┤ │ S102 │ B │ - │ ├────┼───┼──┤ │ S103 │ C │ 5 │ ├────┼───┼──┤ │ S104 │ D │ 10 │ └────┴───┴──┘ エ ┌────┬───┬──┐ │商品番号│商品名│数量│ ├────┼───┼──┤ │ S101 │ A │ 15 │ ├────┼───┼──┤ │ S103 │ C │ 5 │ ├────┼───┼──┤ │ S104 │ D │ 10 │ └────┴───┴──┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ メールマガジンがずれて見える方は、 http://www.mag2.com/faq/mua.htm を参考にしてください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 合格を勝取るにはコレ!! 絶対に読んでおくべきです。 ▽ http://www.mag2.com/m/0000120201.htm 『解説』 今回は、SQLの外結合についての問題です。 仕事でSQLを使用している方は、戸惑うかもしれません。 Oracleやサイベース、SQLサーバとは、記述の方法が異なっています。 情報処理試験で出題されるSQLは、SQL99という言語仕様に基づいて 出題されています。 なので、出題に沿った構文をしっかりと覚えておく必要があります。 試験のためと、割りきってしっかり覚えておきましょう。 ちなみに上記のベンダー同士でも、外結合の書き方は異なっています。 また今回の出題は、テクニカルエンジニア(データ―ベース)ですが、ソフ開、 基本情報にも、いづれ出題されるでしょう。 出題された時に、慌てない様にしっかりマスタしておきましょう。 > SELECT X.商品番号, 商品名, 数量 > FROM 商品 X LEFT OUTER JOIN 売上明細 Y > ON X.商品番号 = Y.商品番号 これが、左外結合のSQL文です。 LEFT OUTER JOIN で左外結合、 RIGHT OUTER JOIN で右外結合 です。 また、通常、SQL文は結合の条件を、WHERE句に記述します。 しかし、外結合ではFROM句内のONで、結合する列を記述していますね。 [通常の結合] SELECT X.商品番号, 商品名, 数量 FROM 商品 X , 売上明細 Y WHERE X.商品番号 = Y.商品番号 左外結合は、左側の表を優先して結合します。 右外結合は、右側の表を優先して結合します。 つまり、[通常の結合]では現れない行が、現れます。(ポイント) [通常の結合] SELECT X.商品番号, 商品名, 数量 FROM 商品 X , 売上明細 Y WHERE X.商品番号 = Y.商品番号 ORDER BY 商品番号 ←付加しました。 の検索結果としては > イ > ┌────┬───┬──┐ > │商品番号│商品名│数量│ > ├────┼───┼──┤ > │ S101 │ A │ 5 │ > ├────┼───┼──┤ > │ S101 │ A │ 10 │ > ├────┼───┼──┤ > │ S103 │ C │ 5 │ > ├────┼───┼──┤ > │ S104 │ D │ 2 │ > ├────┼───┼──┤ > │ S104 │ D │ 8 │ > └────┴───┴──┘ となりますね。 しかし、外結合では、この表に、優先された表の結合されていない行 が追加されたものが現れます。 > SELECT X.商品番号, 商品名, 数量 > FROM 商品 X LEFT OUTER JOIN 売上明細 Y > ON X.商品番号 = Y.商品番号 では、商品が優先されています。 なので、商品にある行は全て表示されないといけません。 ところが「イ」には 商品の ┌────┬───┐ │ S102 │ B │ └────┴───┘ が現れていないことがわかります。 そこで、この行を付加します。 しかし、売上明細には 商品番号「S102」が存在しないので、数量を取得 できません。 そのため、問題文の空値(NULL) "-"を設定します。 すると > ア > ┌────┬───┬──┐ > │商品番号│商品名│数量│ > ├────┼───┼──┤ > │ S101 │ A │ 5 │ > ├────┼───┼──┤ > │ S101 │ A │ 10 │ > ├────┼───┼──┤ > │ S102 │ B │ - │ ←これが挿入されました。 > ├────┼───┼──┤ > │ S103 │ C │ 5 │ > ├────┼───┼──┤ > │ S104 │ D │ 2 │ > ├────┼───┼──┤ > │ S104 │ D │ 8 │ > └────┴───┴──┘ これが、正解ですね。 ちなみにウとエは、アとイを商品番号、商品名でサマリしたものですね。 SUM関数とGROUP BYで実現できますね。 ウ SELECT X.商品番号, 商品名, SUM(数量) FROM 商品 X LEFT OUTER JOIN 売上明細 Y ON X.商品番号 = Y.商品番号 GROUP BY X.商品番号, 商品名, エ SELECT X.商品番号, 商品名, SUM(数量) FROM 商品 X , 売上明細 Y WHERE X.商品番号 = Y.商品番号 GROUP BY X.商品番号, 商品名, こんな感じですね。 合格を勝取るにはコレ!! 絶対に読んでおくべきです。 ▽ http://www.mag2.com/m/0000120201.htm ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「編集後記」 いよいよ、春試験の高度区分の合格発表が明日、6月21日(月)正午に 行われる予定です。 システム監査、システム管理、データベース、エンベデッド、 ソフトウェア開発が発表の対象です。 今回から、全ての区分で成績照会が可能になっています。 受験票(受験番号とパスワード)を確認しておきましょう。 「JITEC」 http://www.jitec.jp/ 『お願い』 無料メールマガジン同士の相互紹介、HPの相互リンクを募集して おります。せひ、宜しくお願いします。 今回、受験を考えている方などに、情報処理試験のお勉強 (千里の道も一歩から)を、紹介してあげてください。 このメールマガジン自身も、千里の道を一歩ずつ、着実に歩んでいきます。 「情報処理試験のお勉強(千里の道も一歩から)」 まぐまぐ :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 ---------------------------------------------------------------------- <免責事項>掲載されているいかなる情報により損害を被っ ても、当方では責任を負いませんことをご了承ください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
Powered by
メインメニューに戻る
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||