データベーススペシャリスト令和3年秋期 午前Ⅱ 問8

問8

"社員取得資格"表に対し,SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。
08_1.png/image-size:433×220
08_2.png/image-size:408×89
  • 08a.png/image-size:296×58
  • 08i.png/image-size:296×59
  • 08u.png/image-size:296×58
  • 08e.png/image-size:296×37
  • [出題歴]
  • データベース H27春期 問8
  • データベース H31春期 問11

分類

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

正解

解説

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

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

Pagetop