問 題
次の文は、表Ⅰの関係データベースから表Ⅱのような表を取り出すSQL 文である。㋐、㋑、㋒ に当てはまるものの組合せとして最も妥当なのは次のうちではどれか。
解 説
【SQL の基礎知識】
SQL:Structure Query Language 構造化照会言語 は、データベースを操作するための言語です。基本文が select from where 文です。「select ◯◯ from △ where 条件」で、△から 条件を満たす ◯◯列のデータ を取ってこい といった感じです。また「create 名前」で、新しい表形式のデータベースを作れます。「新規ファイル作成」のイメージです。
表Ⅰの一部から表Ⅱが作られているので、㋐ は「SELECT」です。正解は 3 ~ 5 です。
㋑、㋒ ですが
表Ⅱが、表Ⅰのどういった点に注目して抜き出されたかを考えましょう。選択肢も活用すれば「年齢 > 23」はありえそうです。それなら2行目の「鈴木 B 子」さんも表Ⅱに含まれていそうですが、住所が埼玉県だから もしくは 職業が会社員だから 表Ⅱには入っていないと推測できると思います。
また、表Ⅱは ID が変な順番(8,4,3)になっており、その代わり、年齢がきれいに順番になっています。少し応用となる SQL 文ですが、出力を 何かの順で出したい時に「ORDER BY」を用います。
これらをふまえると、㋑ は「WHERE 職業 <> ‘会社員’ AND 年齢 > 23」です。㋒ は「ORDER BY」です。
ちなみに「<>」は不等号の < と > が一体となったものです。たとえば x > 3 かつ x < 3 を考えると、3だけが取り除かれます。つまり <> は ≠ だと考えればよいです。「職業 <> ‘会社員’」とは「職業が会社員でなく」という意味です。
以上より、正解は 3 です。
コメント