シスアド合格講座-練習問題

練習問題
“社員”表に対し,ある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表になります。
イ 射影 ひとつの表から特定の項目を抽出して新しい表を生成すること。
ウ 選択 元となる表から特定の条件を満たす行を抽出して新しい表を生成すること。
エ 併合 関係のある複数のデータをひとつの表に統合すること。

この問題の正解は ア です。


Copyright(c) AFINAX All Rights Reserved.