SELECT 陳述式

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「欄位」 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 陳述式中使用其他子句,進一步限制及組織所傳回的資料。 如需詳細資訊,請參閱您使用之子句的說明主題。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×