第9章 データベース連携 / 第5回 模擬試験

PHPのSELECT文の結果セットに関する次の記述のうち、正しいものはどれか。

`SELECT * FROM users WHERE age > 20;`は、`users`テーブルから年齢が20より大きいレコードを取得する。 正解
`SELECT`文はテーブルにデータを追加するための命令である。
`SELECT`文の`WHERE`句は省略することが一切できない。
`SELECT *`は特定の1列のみを取得することを意味する。
解説
`SELECT * FROM users WHERE age > 20;`は、`users`テーブルの中から`age`列の値が`20`より大きいレコードを検索し、それらのレコードの「すべての列」を取得するSQL文です。 他の選択肢が誤りである理由は次の通りです。 ・テーブルにデータを追加する命令は`INSERT`文です。`SELECT`文はデータの「取得(検索)」を行います。 ・`WHERE`句は省略可能です。省略した場合は、条件による絞り込みなしにテーブル内の全レコードが対象になります。 ・`SELECT *`の`*`は「すべての列」を意味します。特定の1列だけを取得したい場合は列名を明示的に指定します。 例: ``` SELECT * FROM users WHERE age > 20; -- 20歳より大きい全ユーザーの全列 SELECT name FROM users; -- 全ユーザーのname列のみ SELECT * FROM users; -- WHERE省略、全レコード全列 ``` (参照: 独習PHP 第4版 第9章 データベース連携 9.2.2節 SQLの基本 p.417〜424)