データベーススペシャリスト平成30年春期 午前Ⅱ 問8

問8

"部品"表から,部品名に'N11'が含まれる部品情報(部品番号,部品名)を検索するSQL文がある。このSQL文は,検索対象の部品情報のほか,対象部品に親部品番号が設定されている場合は親部品情報を返し,設定されていない場合はNULLを返す。aに入れる字句はどれか。ここで,実線の下線は主キーを表す。

 部品(部品番号,部品名,親部品番号)

〔SQL文〕
08.png/image-size:333×96
  • B1 JOIN 部品 B2
  • B1 LEFT OUTER JOIN 部品 B2
  • B1 RIGHT OUTER JOIN 部品 B2
  • B2 LEFT OUTER JOIN 部品 B1

分類

テクノロジ系 » データベース » データ操作

正解

解説

以下の表を例に各指定による表の結合結果がどのようになるかを見ながら、適切な問合せを考えてみます。
08_1.png/image-size:241×162

  • 2つの部品表が部品番号で内部結合されます。内部結合により親部品番号が設定されている組のみが残り、そこからB1.部品名に"N11"を含む行が抽出されます。実行結果に、'N11'を部品名に含む5行目'N1150'が抽出されないので誤りです。
    08a.png/image-size:401×280
  • 正しい。「LEFT OUTER JOIN」は左外部結合を指示する句です。左外部結合とは、基準となる左表の行を全て抽出し、右表からは左表の行と結合できる行のみを抽出する結合方法です。この結果は、部品名に'N11'を含む行が過不足なく抽出され、かつ、親部品情報の表示についても設問の条件を満たしています。
    08i.png/image-size:401×412
  • 「RIGHT OUTER JOIN」は右外部結合を指示する句です。左外部結合とは逆に右側の表が基準になります。実行結果に、'N11'を部品名に含む5行目'N1150'が抽出されないので誤りです。
    08u.png/image-size:401×371
  • B2表を左側、B1表を右側にした左外部結合です。部品番号と部品名がNULLになってしまうので誤りです。
    08e.png/image-size:401×364
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop