5.
SQL文の問題です。
SQLは、別途解説するIT系のブログを書きますので、そちらを確認してください。ここでは、SQLを基本的なところから解説するのはしません。
しかし、さすがに中小企業診断士試験で、とんでもなく難しいSQLの問題が出ないでしょう。全くSQLに触れていない人でも、少しの知識だけで点数が取れる部分ではあると思います。
まずはざっくりしたイメージを持ちましょう。SQLはデータテーブルを扱うための、言語です。Excelで扱うようなデータテーブルを想像してください。複数のデータテーブルを関連させたデータベースをRDBなんていう風に言います。たとえば従業員番号一覧テーブルから、従業員名簿が参照されるとかですね。
データの持ち方をざっくりイメージが持てたところで、今日の問題になっているSELECTを考えましょう。SELECTはそのようなデータテーブルから、ある条件をもってデータを抽出するための命令後です。SELECT ~ で、たとえば~のデータを持ってこいってことです。SELECT 従業員番号 で、従業員番号データを持ってこいって感じになります。あれ?問題文を見ると、「SELECT *」になっていますね。 *は、想像つく人もいるかもしれませんが、「なんでも」「全部」という意味合いになります。つまりは、データテーブルの要素を全部持ってこい!ってことになります。
そして、その下に「FROM ~」と続いています。~には、データテーブル名が入ります。SQLは複数のデータテーブルが保管されたDBから、テーブル名を指定しテーブルを選択して、データを抽出することができます。つまり、今回では、「FROM アルバイト担当者」で、"アルバイト担当者"というテーブルから、データを抽出しなさいということになります。
ここまでで、SELECT ~ で、どのデータを、FROM ~ で、どのテーブルから抽出するのかということが指定されました。最後にWHEREとあります。ここには、抽出する際の条件が入ります。例えば、"10000以上の従業員番号"とか、様々な条件を付けることが可能です。
今回の問題は、このWHERE句の書き方が問題となっています。
SELECT * FROM アルバイト担当者 WHERE ;
WHERE句の代表的な書き方をさらっと紹介しましょう。「従業員番号が~だったら」という条件を例にします。
従業員番号 = 10000 ➡ 従業員番号が10000のデータを抽出
従業員番号 != 10000 ➡ 従業員番号が10000以外のデータを抽出
従業員番号 > 10000 ➡ 従業員番号が10000より大きいデータを抽出
従業員番号 BETWEEN 1 AND 10000 ➡ 従業員番号が1から10000の間のデータを抽出
従業員番号 LIKE 'A00%' ➡ 従業員番号が'A00' から始まるデータを抽出
さて、問題にもなっているLIKEは、文字列データの条件を定義するときに用いられるもので、XXX% とすると XXX + 任意の文字数の文字列、XXX_ で、XXX + 任意の1文字の検索条件で、抽出できます。
と、ここまでで問題文に戻りましょう。
5の「電話番号 LIKE '03-3%'」で、電話番号が、'03-3'から始まる電話番号ということになります。
これが正解になりますね。