SELECT 陳述式指示 Microsoft Access 資料庫引擎從資料庫將資訊以一組記錄的形式傳回。
語法
SELECT [謂詞] { * | 表格。* |[表格。]field1 [AS 別名1] [, [表格.]field2 [AS alias2] [, ...]]}
來自 tableexpression [, ...][外部 資料庫中]
[哪裡......]
[群組由......]
[擁有......]
[訂單由......]
[擁有者存取選項]
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「欄位」 FROM「資料表」
您可以使用星號 (*) 來選取資料表中的所有欄位。 下列範例選取 [Employees] 資料表中的所有欄位:
SELECT * FROM Employees;
如果 FROM 子句中包含一個欄位名稱,請在其前加上資料表名稱及 。 (點) 運算子。 在下列範例中,[Employees] 資料表和 [Supervisors] 資料表都有 [Department] 欄位。 SQL 陳述式會從 [Employees] 資料表選取部門,並從 Supervisors 資料表選取主管姓名:
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
建立記錄集物件時,Microsoft Access 資料庫引擎會使用資料表的欄位名稱做為 Recordset 物件的欄位物件名稱。 如果你想要不同的欄位名稱,或產生欄位時所用的表達式沒有暗示名稱,請使用 AS 保留字。 下列範例使用標題 [Birth] 來命名結果 Recordset 物件的 Field 物件:
SELECT BirthDate AS Birth FROM Employees;
每當使用的彙總函數或查詢傳回定義不清或重複的 Field 物件名稱時,必須使用 AS 子句來提供 Field 物件的替代名稱。 下列範例使用標題 HeadCount 來命名結果 Recordset 物件的 Field 物件:
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
您可以在 SELECT 陳述式中使用其他子句,進一步限制及組織所傳回的資料。 如需詳細資訊,請參閱您使用之子句的說明主題。