SELECT ステートメント

データベースの情報をレコードのセットとして返すよう Microsoft Jet データベース エンジンに指示します。

構文

SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
    FROM tableexpression [, ...][IN externaldatabase]
    [WHERE...]
    [GROUP BY...]
    [HAVING...]
    [ORDER BY...]
    [WITH OWNERACCESS OPTION]

SELECT ステートメントには、次の指定項目があります。

指定項目 内容
predicate ALL、DISTINCT、DISTINCTROW、TOP のいずれかの述語。これらの述語は、返されるレコードの数を制限するために使用します。指定がない場合は、ALL になります。
* この記号を付けると、指定したテーブルのすべてのフィールドが選択されます。
table レコードを選択するフィールドのあるテーブルの名前。
field1field2 取得するデータのある 1 つ以上のフィールドの名前。複数のフィールドを指定した場合は、指定順に取得されます。
alias1alias2 引数 table の元の列名の代わりに列見出しとして使用する名前。
tableexpression 取得するデータのある 1 つ以上のテーブルの名前。
externaldatabase 引数 tableexpression で指定したテーブルを格納しているデータベースの名前。

解説

Microsoft® Jet データベース エンジンは、SELECT ステートメントで指定したテーブルの検索、選択された列の抽出、抽出条件を満たす行の選択、および選択された行の指定の順序による並べ替え、またはグループ化を行います。

SELECT ステートメントは、データベース内のデータの内容を変更しません。

通常、SELECT は SQL ステートメントの先頭に記述します。ほとんどの SQL ステートメントは SELECT ステートメントまたは SELECT...INTO ステートメントのいずれかになります。

SELECT ステートメントの最も簡単な構文を次に示します。

SELECT fields FROM table

アスタリスク (*) を使用すると、テーブル内のすべてのフィールドが選択できます。次の例では、[社員] テーブルにあるすべてのフィールドが選択されます。

SELECT * FROM 社員;

    

同じフィールド名が、FROM 句に記述してある複数のテーブルに含まれる場合、フィールド名の前にテーブル名とドット演算子 (.) を記述します。次の例では、[社員] テーブルと [監督者] テーブルの両方に "部署" フィールドがあります。この SQL ステートメントでは、[社員] テーブルからは "部署" が選択され、[監督者] テーブルからは "監督者名" が選択されます。

SELECT 社員.部署, 監督者.監督者名

FROM 社員 INNER JOIN 監督者

WHERE 社員.部署 = 監督者.部署;

    

Microsoft Jet データベース エンジンは、Recordset オブジェクトを作成する場合は、その Field オブジェクト名としてテーブルのフィールド名を使用します。異なるフィールド名を付けたい場合、またはフィールド作成の式の中にフィールド名を明示しない場合は、予約語 AS を使用します。次の例では、Recordset オブジェクトに返される Field オブジェクトの名前は "誕生日" になります。

SELECT 生年月日

AS 誕生日 FROM 社員;

    

集計関数を使用する場合、またはあいまいな Field オブジェクト名や重複する Field オブジェクト名を返すクエリを使用する場合は、必ず AS 句を使用して Field オブジェクトに別の名前を付ける必要があります。次の例では、Recordset オブジェクトに返される Field オブジェクトのフィールド名は "人数" になります。

SELECT COUNT(社員コード)

AS 人数 FROM 社員;

    

SELECT ステートメントでは、これ以外にもさまざまな句を使用して、返されるデータを制限したり整理したりできます。詳細については、使用する句のヘルプ トピックを参照してください。

参照
ALL DISTINCT、DISTINCTROW、TOP 述語 (Microsoft Jet SQL) ORDER BY 句 (Microsoft Jet SQL)
DELETE ステートメント (Microsoft Jet SQL) SELECT...INTO ステートメント (Microsoft Jet SQL)
FROM 句 (Microsoft Jet SQL) SQL 集計関数 (SQL)
GROUP BY 句 (Microsoft Jet SQL) UNION 操作 (Microsoft Jet SQL)
HAVING 句 (Microsoft Jet SQL) UPDATE ステートメント (Microsoft Jet SQL)
IN 句 (Microsoft Jet SQL) WHERE 句 (Microsoft Jet SQL)
INSERT INTO ステートメント (Microsoft Jet SQL) WITH OWNERACCESS OPTION 宣言 (Microsoft Jet SQL)

使用例

SELECT ステートメント、FROM 句の使用例