第5問
「アルバイト担当者」表から電話番号が「03-3」から始まる担当者を探すために SQL 文を用いる。以下のSQL 文の空欄に指定する文字列として、最も適切なもの を下記の解答群から選べ。なお、電話番号は「アルバイト担当者」表の「電話番号」列 に格納されているものとする。 SELECT * FROM アルバイト担当者 WHERE ;
- ア LIKE 電話番号 '= 03-3%'
- イ LIKE 電話番号 = '03-3%'
- ウ 電話番号 = 'LIKE 03-3%'
- エ 電話番号 'LIKE 03-3%'
- オ 電話番号 LIKE '03-3%'
▼ 解答・解説を見る
正解:オ
解答:オ
SQLの部分一致検索の構文を問う問題。前方一致検索は「列名 LIKE ‘パターン’」の順で記述し、ワイルドカード(任意の0文字以上を表す%)をパターン文字列内に置く。正しい構文は 電話番号 LIKE '03-3%'。
- ア(×):
LIKE 電話番号 '= 03-3%'は語順が不正。LIKEは列名の後に置く。 - イ(×):
LIKE 電話番号 = '03-3%'も語順が不正。LIKEと=を併用する構文も誤り。 - ウ(×):
電話番号 = 'LIKE 03-3%'はLIKEを文字列内に入れており、単なる完全一致比較になってしまう。 - エ(×):
電話番号 'LIKE 03-3%'は演算子LIKEが文字列内にあり構文として成立しない。 - オ(○):
電話番号 LIKE '03-3%'が正しい前方一致検索の構文。
よって オ。