HOME»データベーススペシャリスト令和3年秋期»午前Ⅱ 問8
データベーススペシャリスト令和3年秋期 午前Ⅱ 問8
問8
"社員取得資格"表に対し,SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。
- [出題歴]
- データベース H27春期 問8
- データベース H31春期 問11
分類
テクノロジ系 » データベース » データ操作
正解
ア
解説
LEFT OUTER JOINは左外部結合を指示する句です。左外部結合とは、基準となる左表の行を全て抽出し、右表からは左表の行と結合できる行のみを抽出する結合方法です。結合条件はON句で指定します。ON句の条件に合致した行が右表にあれば結合され、無ければ右表の列の値をNULLとして結合されます。
選択肢の「ア」から「ウ」までは左外部結合の結合条件が同じです。左表と右表を並べたときに社員コードが等しく、C1の資格が"FE"、C2の資格が"AP"という条件に合致するのは C1{S001,FE} と C2{S001,AP} の組合せだけなので、結合後は次のようになります。
選択肢の「ア」から「ウ」までは左外部結合の結合条件が同じです。左表と右表を並べたときに社員コードが等しく、C1の資格が"FE"、C2の資格が"AP"という条件に合致するのは C1{S001,FE} と C2{S001,AP} の組合せだけなので、結合後は次のようになります。
- 正しい。結合された表からC1.資格が"FE"の行を抽出すると設問の結果表と同じになります。
- C1.資格が"NULL"の行は社員コードS005の行だけなので、結果表はこれを除いた行になります。
- C2.資格が"AP"の行は1行目だけなので、結果表は1行になります。
- 単に社員コード同士で左外部結合させた結果は以下の様になり、WHERE句の条件によって1行のみが抽出されます。