ITパスポート 2011年 春期 問59
問題文
関係データベースで管理された“社員”表から選択した結果が、“高橋二郎”を含む3名だけになる条件の組合せはどれか。
〔条件〕
① 勤務地= '東京'
② 部署名= '営業部'
③ 勤続年数> 10

選択肢
ア:① and ② and ③
イ:(① and ②) or ③(正解)
ウ:① or (② and ③)
エ:① or ② or ③
🔒 解説は解答すると表示されます
関係データベースの条件組合せで“高橋二郎”を含む3名だけになる条件【ITパスポート 解説】
正解の理由
問題で求めるのは、「選択結果に高橋二郎さん(勤続年数20、勤務地:大阪、部署:経理)を含み、かつ結果の人数がちょうど3名になる」条件の組合せです。関係データベース(表形式でデータを管理する仕組み)で条件を書くとき、論理演算子の意味と優先順位を正しく使う必要があります。
選択肢のうち、(① and ②) or ③ を表す イ は次のように評価されます。まず括弧内の「勤務地=東京 AND 部署名=営業部」を満たす人(伊藤三郎と渡辺四郎)が選ばれます。さらに OR の右側「勤続年数 > 10」を満たす人(高橋二郎)が加わります。結果として、伊藤、渡辺、高橋の3名だけが選ばれるため、イ が正解です。
解法ステップ
- 条件①〜③を一つずつ確認する。
- ① 勤務地 = '東京'
- ② 部署名 = '営業部'
- ③ 勤続年数 > 10(注: は「より大きい」、10年ちょうどは含まれない)
- 選択肢ごとの論理式を読み解く。特に括弧の有無を確認する(括弧は評価順を変える)。
- 各社員(8名)について、式を当てはめて TRUE/FALSE を判定する。
- TRUE になる行を数え、かつ高橋二郎が含まれるかを確認する。
- 上の手順で該当するのが3名で高橋二郎を含むのは (① and ②) or ③、すなわち イ のみ。
(短いSQL例)
SELECT * FROM 社員
WHERE (勤務地 = '東京' AND 部署名 = '営業部')
OR 勤続年数 > 10;
※ SQL(Structured Query Language:データベースを操作する言語)
選択肢別の誤答解説
-
ア: ① and ② and ③
すべての条件を同時に満たす人だけを選びます。つまり「東京かつ営業部かつ勤続年数>10」。表の中では渡辺四郎(勤務東京・営業・勤続35年)しか該当せず、1名になります。高橋二郎は勤務地が大阪なので含まれません。 -
イ: (① and ②) or ③
括弧により「東京かつ営業部」のグループと「勤続年数>10」のグループを和(どちらか)で結んでいます。結果は伊藤(東京・営業・7年)、渡辺(東京・営業・35年)、高橋(勤続20年・大阪)の3名。これが求める条件です。 -
ウ: ① or (② and ③)
「東京」全員と、「営業部かつ勤続年数>10」の人を合わせた集合です。結果的に東京勤務の社員(複数)や他の条件を満たす人が多く、5名など多数が選ばれます。高橋二郎は勤務地が大阪で、営業でもないため含まれません。 -
エ: ① or ② or ③
いずれか一つでも満たせば選ばれるため、ほとんどの社員が該当してしまいます(結果は3名よりずっと多い)。高橋二郎は含まれますが、人数条件を満たしません。
よくある誤解
-
誤解1: 「OR と AND は同じ優先度で左から評価する」
実務では AND が OR より優先されますが、明確にするために括弧を使うのが安全です。試験でも括弧の有無を見落とさないことが重要です。 -
誤解2: 「勤続年数 > 10 は 10年も含む」
演算子 は「より大きい」を意味し、10年ちょうど(=10)は含まれません。表の山本夏子(勤続10年)は ③ を満たさない点に注意してください。 -
誤解3: 「選択肢の読み間違い(括弧を無視)」
括弧の位置で意味が大きく変わります。選択肢は必ず文字どおりの論理式として解釈してください。
補足コラム
論理演算子の覚え方(簡単な目安)
- AND(かつ): 両方の条件を満たす場合だけ TRUE。イメージは「両手を重ねる」。
- OR(または): どちらか一方でも TRUE なら TRUE。イメージは「どちらかのスイッチが入れば点灯」。 試験では「どの社員が残るか」を実際に1人ずつ当てはめて数えるのが確実です。頭で一気に考えるより、表の各行を順にチェックする方がミスが減ります。
FAQ
Q1: AND と OR の優先順位は覚えないとダメですか?
A1: 理解しておくと便利ですが、試験対策としては「括弧を優先して解釈する」「括弧がない場合は AND が先に評価される」を押さえ、可能なら括弧を想定して試験問題を読む癖をつけると安全です。
A1: 理解しておくと便利ですが、試験対策としては「括弧を優先して解釈する」「括弧がない場合は AND が先に評価される」を押さえ、可能なら括弧を想定して試験問題を読む癖をつけると安全です。
Q2: 「>」と「>=」の違いがよくわかりません。
A2: は「より大きい」、 は「以上(より大きいか等しい)」です。数値条件では等号の有無で結果が変わることがあるので注意してください。
A2: は「より大きい」、 は「以上(より大きいか等しい)」です。数値条件では等号の有無で結果が変わることがあるので注意してください。
Q3: 問題を速く解くコツは?
A3: 小さな表なら手で当てはめて数えるのが早いです。大きな表や抽象問題では、まず括弧を見てグループごとに誰が選ばれるかを想定すると良いです。
A3: 小さな表なら手で当てはめて数えるのが早いです。大きな表や抽象問題では、まず括弧を見てグループごとに誰が選ばれるかを想定すると良いです。
関連キーワード: 関係データベース、SQL、WHERE句、論理演算子、AND、OR、条件式、ブール論理、選択条件、勤続年数、括弧の優先順位

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

