パソコンユーザの悪戦苦闘生活 -16ページ目

平成18年 問33

平成18年 問33



 ”社員”表に対して次のSQL文を実行した結果として、正しいものはどれか。
 
  SELECT DISTINCT S1.生年 FROM 社員 AS S1 ,社員 AS S2
WHERE S1.生年 >= S2.生年
GROUP BY S1.生年
HAVING COUNT(*)<=3


D18-33-1
____________________________________________


・DISTINCTを除いてWHERE句までを書き出すと下記表①になる。


 SELECT S1.* ,S2.* from 社員 AS S2 WHERE S1.生年>=S2.生年

次に以下のステートメントを考える。

 GROUP BY S1.生年 HAVING COUNT(*) <=3
 
生年が1943年の社員が二人いるので、注意が必要。下記表②のように生年でグループ化して
 行数が3行以下ということは、生年の古いデータが出力されることしたがって、1934年の社員
 は、HAVINGCOUNT(*)<=3 という条件により排除されるので、(ア)が正解。




D18

 従って正解は(ア)
答え(ア)





みちのく岩手のワイン屋 竹澤

ブランドメゾン

【キッズウェア ノア】アメカジテイストの国内人気ブランドとデニムを中心とした子供服のお店

株式会社 メディカル未来

毛糸蔵かんざわ

デル株式会社


平成18年 問32

平成18年 問32



 ”商品”と”売上明細”表に対して、次のSQL文を実行した結果の表として、正しいものはどれか。
ここで、結果の表中の”-”は、値がナルであることを示す。

 SELECT X.商品番号、商品名、数量
    FROM 商品 X LEFT OUTER JOIN 売上明細 Y
ON X.商品番号=Y.商品番号




D18-32-1
____________________________________________


・外部結合


  LEFT OUTOR JOIN句がsるので左側部結合。「A LEFT OUTER JOIN B」では、左側の表Aの不一致
 部分を結果に反映し、対応する右側のBの列はNULL値で埋められる。

 従って(ア)が正解。


答え(ア)





倖梅楽天市場店

サニーマーケット

山渓オンラインショップ楽天市場店

T.N.DREAM

ウッドデッキと木物屋

Sony Style(ソニースタイル)


平成18年 問31

平成18年 問31



  4つの表”注文”、”顧客”、”商品”、”注文明細”がある。これらの表から、次のビュー”注文一覧”
 を作成するSQL文はどれか。ここで、下線の項目は主キーを表す。

  注文(注文番号 、注文日、顧客番号)
     ----
  顧客(顧客番号 、顧客名)
     ----
  商品(商品番号 、顧客名)
     ----
  注文明細(注文番号 、商品番号 、 数量 、 単価)
       ----

D18-31-1


(ア)UPDATE VIEW 注文一覧
    AS SELECT * from 注文、顧客、商品、注文明細
      WHERE 注文.注文番号=注文明細.注文番号 AND
注文.顧客番号=注文明細.顧客番号 AND
商品.商品番号=注文明細.商品番号



(イ)UPDATE VIEW 注文一覧
    AS SELECT 注文.注文、注文日、顧客名、商品名、数量、単価
       FROM 注文、顧客、商品、注文明細
       WHERE 注文.注文番号=注文明細.注文番号 AND
  注文.顧客番号=注文明細.顧客番号 AND
商品.商品番号=注文明細.商品番号



(ウ)UPDATE VIEW 注文一覧
    AS SELECT 注文.注文番号、注文日、顧客名、商品名、数量、単価
       FROM 注文、顧客、商品、注文明細
       WHERE 注文.注文番号=注文明細.注文番号 OR
  注文.顧客番号=注文明細.顧客番号 OR
商品.商品番号=注文明細.商品番号



(エ)UPDATE VIEW 注文一覧
    AS SELECT 注文.注文番号、注文日、顧客名、商品名、数量、単価
       FROM 注文、顧客、商品、注文明細
       WHERE 注文.注文番号=注文明細.注文番号 OR
商品.商品番号=注文明細.商品番号


____________________________________________


・CREATE VIEW 分

  ”注文一覧”のデータは、注文、顧客、商品、注文明細の4つの表を結合したもので、結合
  条件は各表の主キー、外部キーをみるとわかる。4つの表を結合するので、結合条件は
  3つ(n個の表を結合する場合、結合条件の個数はn-1)、それらをすべてAND条件
  で連結します。

   従って、(イ)が正解。


(ア)AS SELECT句の後が*になっている。



(ウ)結合条件がOR条件になっている。



(エ)顧客表が結合されていない。


答え(イ)





メールでプレゼントが贈れる!送料無料の楽天ギフト

BIGJOHNJEANS

業界トップクラス!楽天GORAでゴルフ予約

上海問屋

YAMATO ONLINE SHOP

デル株式会社