![]()
“社員”表に対し,あるSQL文を実行して“結果”表を得た。このSQL文として,適切なものはどれか。
| 社員 | |||
|
社員番号 |
社員名 |
給与 |
部門 |
|
0111 |
橋本美恵子 |
20 |
C55 |
|
1200 |
佐藤高雄 |
10 |
C41 |
|
1300 |
中村英治 |
30 |
C41 |
|
1500 |
大石幸子 |
20 |
C55 |
|
2200 |
山本孝 |
30 |
C58 |
| 結果 | |
社員番号 |
給与 |
0111 |
20 |
1500 |
20 |
ア SELECT 社員番号, 給与 FROM 社員
WHERE 部門 ='C41' AND 部門 ='C58'
イ SELECT 社員番号, 給与 FROM 社員
WHERE 部門 ='C41' OR 部門 ='C58'
ウ SELECT 社員番号, 給与 FROM 社員
WHERE 部門 <>'C41' AND 部門 <>'C58'
エ SELECT 社員番号, 給与 FROM 社員
WHERE 部門 <>'C41' OR 部門 <>'C58'
![]()
ア 条件は部門が'C41'で、かつ(AND)、'C58'です。部門が'C41'でもあり'C58'でもある社員はいません。
イ 条件は部門が'C41'または(OR)、'C58'ですので、抽出結果は「社員番号1200 給与10、社員番号1300 給与30、社員番号2200
給与30」の3人です。
ウ 条件は部門が'C41'ではなくて(部門が'C55','C58')、かつ(AND)、部門が'C58'ではない(部門が'C55','C41')ということで部門'C55'の2名となります。
エ 条件は、部門が'C41'ではない(部門が'C55','C58')、または(OR)、部門が'C58'ではない(部門が'C55','C41')ということで、部門が'C55'、'C41'、'C58'の社員となります。
この問題の正解は ウ です。
![]()
A表とB表に対して次のSQL文が行う関係演算はどれか。
SELECT 得意先名, A.製品番号, 製品名, 受注数 FROM A,B
WHERE A.製品番号 = B.製品番号 ORDER BY 得意先名
| A | ||
|
得意先名 |
製品番号 |
受注数 |
|
X商店 |
B001 |
3000 |
|
Y代理店 |
A002 |
2000 |
|
Z販売店 |
A001 |
2500 |
| B | |
|
製品番号 |
製品名 |
|
A001 |
テレビ |
|
A002 |
ビデオデッキ |
|
B001 |
ラジオ |
ア 結合 イ 射影 ウ 選択 エ 併合
![]()
ア 結合 共通項目によって共通の値を連結させること。「製品番号」という項目によって「製品名」というA表には無い項目を連結したのがB表になります。
イ 射影 ひとつの表から特定の項目を抽出して新しい表を生成すること。
ウ 選択 元となる表から特定の条件を満たす行を抽出して新しい表を生成すること。
エ 併合 関係のある複数のデータをひとつの表に統合すること。
この問題の正解は ア です。