SELECT ステートメントは、Microsoft Access データベース エンジンにデータベースの情報をレコード セットとして返すように指示します。
構文
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 |
レコードを選択するフィールドを含んだテーブルの名前。 |
field1、field2 |
取得するデータを含んだフィールドの名前。 複数のフィールドを含めた場合は、リストした順序で取得されます。 |
alias1、alias2 |
table 内の元の列名の代わりに列見出しとして使用する名前。 |
tableexpression |
取得するデータを含んだテーブル (複数可) の名前。 |
externaldatabase |
tableexpression のテーブルが現在のデータベースにない場合に、それを含むデータベースの名前。 |
説明
この操作を実行するため、Microsoft Access データベース エンジンは指定されたテーブル (複数可) を検索して、選択した列を抽出し、条件に一致する行を選択して、結果行を指定の順序に並べ替えたり、グループ化したりします。
SELECT ステートメントはデータベース内のデータを変更することはありません。
SELECT は通常、SQL ステートメントの最初の語となります。 ほとんどの SQL ステートメントは、SELECT または SELECT...INTO ステートメントの形をとります。
SELECT ステートメントの最小限の構文は次のとおりです。
SELECT fields FROM table
アスタリスク (*) を使用して、テーブルのすべてのフィールドを選択できます。 次の例では、Employees テーブルのすべてのフィールドを選択しています。
SELECT * FROM Employees;
FROM 句で複数のテーブルに含まれるフィールドの場合は、その前にテーブル名と . (ドット) 演算子を付けます。 次の例では、Department フィールドが Employees テーブルと Supervisors テーブルの両方に含まれます。 この SQL ステートメントは、Employees テーブルから部署を選択し、Supervisors テーブルから監督者名を選択します。
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
Recordset オブジェクトが作成されると、Microsoft Access データベース エンジンはテーブルのフィールド名を Recordset オブジェクトの Field オブジェクトとして使用します。 異なるフィールド名を使う場合や、フィールドの作成に使用した式に含まれない名前を使う場合は、AS 予約語を使用します。 次の例では、タイトルに Birth を使用して、結果の Recordset オブジェクトで返された Field オブジェクトに名前を付けています。
SELECT BirthDate AS Birth FROM Employees;
使用する集約関数やクエリで返される Field オブジェクト名があいまいな場合や重複する場合は、AS 句を使用して Field オブジェクトの代替名を指定する必要があります。 次の例では、タイトルに HeadCount を使用して、結果の Recordset オブジェクトで返された Field オブジェクトに名前を付けています。
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
SELECT ステートメントではこの他にも、返されるデータを制限して整理する句を使用できます。 詳しくは、使用する句のヘルプ トピックをご覧ください。