SELECT 语句指示 Microsoft Access 数据库引擎以一组记录的形式从数据库返回信息。
语法
SELECT [谓词] { * | table.* |[table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...][IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
SELECT 语句包含以下部分:
| 部分 | 说明 |
|---|---|
| 谓词 | 以下谓词之一:ALL、DISTINCT、DISTINCTROW 或 TOP。 谓词用于限制返回的记录数。 如果不指定,则默认为 ALL。 |
| * | 指定选择所指定的表中的所有字段。 |
| table | 表的名称,表中包含从中选择记录的字段。 |
| 字段1, 字段2 | 字段的名称,字段中包含要检索的数据。 如果包括多个字段,将按列出的顺序对它们进行检索。 |
| 别名1, 别名2 | 用作列标题的名称,而不是表中的原始列名。 |
| 表表达式 | 表的名称,表中包含要检索的数据。 |
| 外部数据库 | 数据库的名称,数据库中包含表表达式中的表(如果这些表不在当前数据库中)。 |
备注
要执行此操作,Microsoft Access 数据库引擎会搜索指定的表,提取所选列,选择符合条件的列,然后按指定的次序对生成的行进行排序或分组。
SELECT 语句不更改数据库中的数据。
SELECT 通常是 SQL 语句中的第一个单词。 大多数 SQL 语句要么是 SELECT 语句,要么是 SELECT...INTO 语句。
SELECT 语句的最短语法如下:
SELECT 字段 FROM 表
可使用星号 (*) 来选择表中的所有字段。 以下示例将选择“员工”表中的所有字段:
SELECT * FROM Employees;
如果某个字段名称包含在 FROM 子句的多个表中,请在其前面加上表名和 . (点) 运算符。 在以下示例中,“部门”字段同时存在于 “员工”表和“主管”表中。 该 SQL 语句从“员工”表中选择部门,从“主管”表选择主管姓名:
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
创建记录集对象时,Microsoft Access 数据库引擎将使用表的字段名作为 Recordset 对象中的字段对象名。 如果需要其他字段名称,或者用于生成字段的表达式未隐含名称,请使用 AS 保留字。 以下示例使用标题“生日”来命名生成的 Recordset 对象中的返回 Field 对象:
SELECT BirthDate AS Birth FROM Employees;
只要使用的聚合函数或查询返回的是不明确的或重复的 Field 对象名称,就必须使用 AS 子句为该 Field 对象提供替代名称。 以下示例使用标题“人数”来命名生成的 Recordset 对象中的返回 Field 对象:
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
可以在 SELECT 语句中使用其他子句进一步限制和组织返回的数据。 有关详细信息,请参阅所使用的子句的帮助主题。