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

午前U 問8

"社員取得資格"表に対し,SQL文を実行して結果を得た。SQL文のaに入る字句はどれか。
08_1.gif/image-size:399×201
08_2.gif/image-size:390×79

分類

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

正解

解説

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

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

Pagetop