跳到正文

平成28年度 秋期 ITパスポート試験 問74

这道题的解析和你的作答记录。

問74
頻出度★★☆

“気温”表の2011年の7月1日から8月31日までの間で,最高気温が35度以上のレコードを全て抽出したい。抽出条件として,適切なものはどれか。 気温

年月日最高気温
20111112
20111211
2011139
::::
201173134
20118136
::::
2011123110
20121111
出典 平成28年度 秋期 ITパスポート試験 問74
解説

問 74

  • 错误ア

    月份条件为 (月 = 7 and 月 = 8),而一条记录的月份不可能同时既是7又是8,因此括号内始终为假,一条记录也抽取不到。此外 最高气温 ≦ 35 表示「35度以下」,与所求的「35度以上」方向相反。两处均错。

  • 错误イ

    最高气温 ≧ 35 是正确的,但月份条件为 (月 = 7 and 月 = 8),用了 and,同时既是7月又是8月的记录并不存在,因此结果为空。要取到7月和8月这两类,需要用 or。

  • 错误ウ

    月份条件 (月 = 7 or 月 = 8) 是正确的,但 最高气温 ≦ 35 表示「35度以下」,与所求的「35度以上」相反,会取到低温一侧的记录。

  • エ

    正解 想要抽取的是同时满足「2011年」「7月1日~8月31日」「最高气温在35度以上」这三个条件的记录。选项 エ 为 年 = 2011 and (月 = 7 or 月 = 8) and 最高气温 ≧ 35,正确地表达了这三个条件。关键在于对月份的指定:每条记录的月份只有一个取值,因此要同时取到7月和8月两类记录,必须用 or 连接为「月 = 7 或 月 = 8」。另外「35度以上」表示包含35并向上,所以 最高气温 ≧ 35 是正确的。因此 エ 恰当。

ここがポイント
  • 当以「符合其中任一」来指定范围时用 or,当「同时满足两者」时用 and。由于一条记录的一个字段不可能同时取多个值,像 月 = 7 与 月 = 8 这样互斥的取值若用 and 连接,必然得到空集。
  • 「以上」包含边界值并向上(≧),「以下」包含边界值并向下(≦)。要把条件语句中的文字表述正确对应到比较运算符。
用語
解答問74エ
练这一题

作答记录