SELECT 语句指示 Microsoft Access 数据库引擎以一组记录的形式从数据库返回信息。
语法
SELECT [谓词] { * | 表.* | [表.]字段1 [AS 别名1] [, [表.]字段2 [AS 别名2] [, ...]]}
FROM 表表达式 [, ...] [IN 外部数据库]
[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 语句中使用其他子句进一步限制和组织返回的数据。 有关详细信息,请参阅所使用的子句的帮助主题。