データベース

基本情報技術者試験 科目A免除 修了試験 20120624 実施分 問31

次の SQL 文の実行結果が A 表のようになった。a に入れるべき適切な字句はどれか。 SELECT S_CODE, S_NAME, BU_NAME FROM BUSHO, SHAIN WHERE a
BUSHO 表
BU_CODEBU_NAMEBU_CHO
S01システム 1 部1107
S02システム 2 部1110
SHAIN 表
S_CODES_NAMES_NENREIS_SHOZOKU
1001山本 一平23S01
1002中谷 宏25S01
1003鈴木 隆夫23S02
1004佐藤 俊二26S01
1005山崎 ひとみ23S02
1006田中 五郎25S02
1107山本 明32S01
1110田中 和夫30S02
A 表(実行結果)
S_CODES_NAMEBU_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 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「SQLの検索条件(WHERE・LIKE・IN・EXISTS)」で学ぶ

同じ知識の過去問