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

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

[SQL文]
 SELECT B1.部品番号, B1.降品名
    B2.備品番号 AS 親部品番号, B2.部品名 AS 親部品名
       FROM 部品   a  
       ON B1.親部品番号=B2.部品番号
    WHERE B1.部品名 LIKE ‘%N11%’

 ア  B1 JOIN 部品 B2
 イ  B1 LEFT OUTER JOIN 部品 B2
 ウ  B1 RIGHT OUTER JOIN 部品 B2
 エ  B2 LEFT OUTER JOIN 部品 B1


答え イ


解説
条件の「対象部品に親部品番号が設定されている場合は親部品情報を返し、設定されていない場合はNULLを返す」から外部結合のOUTER JOINを使って表すと
 B1 LEFT OUTER JOIN 部品 B2
(イ)になる。


キーワード
・外部結合

キーワードの解説
  • 外部結合(OUTER JOIN)
    SQL文として
       FROM 表1 LEFT OUTER JOIN 表2
          ON (表1.列A = 表2.列B)
    と指定した場合、表1の列Aにしかないデータも検索されます。
       FROM 表1 RIGHT OUTER JOIN 表2
          ON (表1.列A = 表2.列B)
    と指定した場合、表2の列Bにしかないデータも検索されます。

もっと、「外部結合」について調べてみよう。

戻る 一覧へ 次へ