データベース
基本情報技術者試験 科目A免除 修了試験 20120624 実施分 問31
次の SQL 文の実行結果が A 表のようになった。a に入れるべき適切な字句はどれか。
SELECT S_CODE, S_NAME, BU_NAME
FROM BUSHO, SHAIN
WHERE a
BUSHO 表
SHAIN 表
A 表(実行結果)
| BU_CODE | BU_NAME | BU_CHO |
|---|---|---|
| S01 | システム 1 部 | 1107 |
| S02 | システム 2 部 | 1110 |
| S_CODE | S_NAME | S_NENREI | S_SHOZOKU |
|---|---|---|---|
| 1001 | 山本 一平 | 23 | S01 |
| 1002 | 中谷 宏 | 25 | S01 |
| 1003 | 鈴木 隆夫 | 23 | S02 |
| 1004 | 佐藤 俊二 | 26 | S01 |
| 1005 | 山崎 ひとみ | 23 | S02 |
| 1006 | 田中 五郎 | 25 | S02 |
| 1107 | 山本 明 | 32 | S01 |
| 1110 | 田中 和夫 | 30 | S02 |
| S_CODE | S_NAME | BU_NAME |
|---|---|---|
| 1001 | 山本 一平 | システム 1 部 |
| 1003 | 鈴木 隆夫 | システム 2 部 |
| 1005 | 山崎 ひとみ | システム 2 部 |
- ア BU_CODE = S_SHOZOKU AND S_NENREI = 23
- イ BU_CODE = S_SHOZOKU AND S_NENREI BETWEEN 23 AND 25
- ウ BU_CODE = S_SHOZOKU AND BU_CHO = '1107' AND S_NENREI = 23
- エ S_NENREI = 23
出典:基本情報技術者試験 科目A免除 修了試験 20120624 実施分 問31
答えと解説を見る
正解:ア
覚える知識
SQLのWHERE句による複合条件(AND条件)
複数表のSELECTでは、WHERE句に結合条件と絞込み条件をANDで並べる。
この問題で必要なこと
2表の結合には結合条件(BU_CODE=S_SHOZOKU)が必要で、さらに年齢23歳の行に絞るS_NENREI=23をANDで加える。
ひっかけ
結合条件がないと直積になる、または範囲指定で23歳以外が混ざることを見落とさせる。
この知識の出題:本試験系 1 回・免除試験 5 回(公開問題での観測値)