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

問11

"社員取得資格"表に対し,SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。
11_1.png/image-size:424×219
11_2.png/image-size:402×86
  • 11a.png/image-size:292×58
  • 11i.png/image-size:292×58
  • 11u.png/image-size:292×58
  • 11e.png/image-size:292×36
  • [出題歴]
  • データベース R3秋期 問8
  • データベース H27春期 問8

分類

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

正解

解説

LEFT OUTER JOINは左外部結合を指示する句です。左外部結合とは、基準となる左表の行を全て抽出し、右表からは左表の行と結合できる行のみを抽出する結合方法です。結合条件はON句で指定します。ON句の条件に合致した行が右表にあれば結合され、無ければ右表の列の値をNULLとして結合されます。

選択肢の「ア」から「ウ」までは左外部結合の結合条件が同じです。左表と右表を並べたときに社員コードが等しく、C1の資格が"FE"、C2の資格が"AP"という条件に合致するのは C1{S001,FE} と C2{S001,AP} の組合せだけなので、結合後は次のようになります。
11_3.png/image-size:330×483
  • 正しい。結合された表からC1.資格が"FE"の行を抽出すると設問の結果表と同じになります。
    11aa.png/image-size:495×200
  • C1.資格が"NULL"の行は社員コードS005の行だけなので、結果表はこれを除いた行になります。
    11ii.png/image-size:495×200
  • C2.資格が"AP"の行は1行目だけなので、結果表は1行になります。
    11uu.png/image-size:495×200
  • 単に社員コード同士で左外部結合させた結果は以下の様になり、WHERE句の条件によって1行のみが抽出されます。
    11ee.png/image-size:495×362
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop