初級シスアドSQL過去問題解説
解答:ウ
論理演算子(AND、OR、NOT)の意味が理解できていれば解答できる問題である。
初級シスアドの試験において論理演算子は、SQLや表計算において複数の条件を記述するときに用いる。
論理演算子について押さえておくポイントは次の二つである。
- 論理演算子の意味
- 論理演算子の優先順位
SQLにおける論理演算子の表記と意味は次のとおりである。
論理演算子 | 表記 | 意味 |
---|---|---|
AND | AND | 条件1と条件2の両方の条件を満たしている(かつ) |
OR | OR | 条件1と条件2いずれかの条件を満たしている(または) |
NOT | <> | 条件の否定(〜でない) |
スポンサードリンク
論理演算子の優先順位は、NOT > AND > ORの順である。ただし、カッコがあればカッコ内が優先される。この考え方は四則演算と同じである。
解答群のア〜エのSELECT文において共通の部分の意味はつぎのとおりである。
- SELECT 社員番号,給与
- 社員番号と給与の列を抽出する
- FROM 社員
- 社員表より
抽出条件(WHERE句)から実行結果を考える。
- ア WHERE 部門 = 'C41' AND 部門 = 'C58'
- 「部門が'C41'かつ部門が'C58'」のデータが抽出される。社員の表を見れば分かるように、該当するデータはない。
- イ WHERE 部門='C41' OR 部門='C58'
- 「部門が'C41'または部門が'C58'」のデータが抽出される。したがって、実行結果は次のようになる。
- ウ WHERE 部門 <> 'C41' AND 部門 <> 'C58'
- 「部門が'C41'でない かつ 部門が'C58'でない」のデータが抽出される。したがって、実行結果は次のようになる。
- エ WHERE 部門 <> 'C41' OR 部門 <> 'C58'
- 「部門が'C41'でない または 部門が'C58'でない」のデータが抽出される。したがって、実行結果は次のようになる。
社員番号 | 給与 |
---|---|
1200 | 10 |
1300 | 30 |
2200 | 30 |
社員番号 | 給与 |
---|---|
0111 | 20 |
1500 | 20 |
社員番号 | 給与 |
---|---|
111 | 20 |
1200 | 10 |
1300 | 30 |
1500 | 20 |
2200 | 30 |