読み方 : セレクトぶん

SELECT文 【SELECT statement】

概要

SELECT文(SELECT statement)とは、リレーショナルデータベース(RDB)を操作する言語であるSQL(Structured Query Language)に用意された構文の一つで、テーブルから指定した条件に一致する行(レコード)を抽出するもの。

解説 基本的な構文は「SELECT 列名 FROM 表名 WHERE 条件」で、表名で指定したテーブルの中から指定した条件に一致する行を探し出し、列名で指定した列(フィールド)を列挙したデータを返す。列名に「*」を指定すると行全体を返し、WHERE句を省略するとすべての行を返す。

オプションで「ORDER BY 列名 ASC」を追加すると指定された列の値が小さい順(昇順)に行を整列(ソート)したものを返し、ASCの代わりに「DESC」を指定すると列の値が大きい順(降順)に整列したものを返す。

また、「GROUP BY 列名」を追加すると指定した列の値が同じ行同士をグループ化することができる。これはCOUNT関数と共に用いられることが多く、条件に一致する行の中から指定した列の値が同じものを数え上げ、その行数を返させることができる。

FROM句は「FROM (SELECT ~)」のように別のSELECT文を入れ子に指定することもでき、内部のSELECT文が返すテーブルを対象に抽出を行う。入れ子状になった内側の問い合わせを「サブクエリ」「副問い合わせ」(subquery)という。DBMSによってはSELECT文で計算式や組み込み関数の実行を行うこともでき、FROM句の省略が可能な場合もある。

(2024.3.13更新)

資格試験などの「SELECT文」の出題履歴

▼ 基本情報技術者試験
令7公 問6】 “商品” 表に対するSQL文と同じ結果が得られるSELECT文はどれか。商品
商品ID商品名称仕入先ID単価
S001冷蔵庫M001155,000
S002食器洗い機M00285,000
S003電子レンジM00378,000
S004炊飯器M00332,000
S005コーヒーメーカーM00415,000
S006ホットプレートM00412,000
〔SQL文〕 SELECT * FROM 商品 WHERE 仕入先 ID IN('M002','M004')。