Access SQL:SELECT 子句

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

本文是有关 Access SQL 的集合的一部分。 它解释了如何编写 SELECT 从句并显示了可以使用的技术示例。

有关 Access SQL 的概述,请参阅 Access SQL:基本概念、词汇和语法一文。

本文内容

选择字段:SELECT 子句

SELECT语句通常以SELECT子句开头。 使用子句指定包含查询中所需数据的字段。 还可以使用表达式来代替字段或作为字段补充使用表达式。 甚至可以使用另一个 SELECT 语句作为字段。 这称为子查询。

假设您想知道客户的电话号码。 如果存储这些数字的字段命名 txtCustomerPhone为 , SELECT 则子句如下所示:

SELECT [txtCustomerPhone]

可以用方括号将该名称括起来。 如果名称不包含空格或特殊字符,则括号是可选的。 如果有,则必须使用它们。

提示

含空格的名称更易辨认,在设计窗体和报表时可为用户节省时间,而缺点在于编写 SQL 语句时需键入更多空格。 在 Access 数据库中为对象命名时应考虑这一点。

如果 SQL 语句有两个或多个同名的字段,请在子句中 SELECT 添加每个字段的数据源名称。 使用在子句中使用的 FROM 相同数据源名称。

选择所有字段

如果想要包含来自某个数据源的所有字段,可以在子句中 SELECT 单独列出这些字段,也可以在) (* 使用星号通配符。 使用星号时,Access 会确定查询运行时数据源包含哪些字段,并将这些字段全部包括在内。 这有助于在将新字段添加到数据源时使查询保持最新。

可以在 SQL 语句中将星号用于一个或多个数据源。 如果将星号用于多个数据源,请将数据源名称与星号一起用于星号,以便 Access 可以确定要使用的源。

例如,假设您想从表中 Orders 选择所有字段,但只想从表中 Contacts 选择电子邮件地址。 您的 SELECT 子句可能如下所示:

SELECT Orders.*, Contacts.[E-mail Address]

注意

跟踪星号的使用情况。 如果稍后有人将新字段添加到数据源,而您没有为此进行计划,则查询结果可能不是您想要的。

选择非重复值

如果知道语句将返回重复数据,并且只想查看不同的值,DISTINCT请在子句中使用SELECT关键字 (keyword) 。 例如,如果某些客户兴趣使用相同的电话号码, DISTINCT 请确保每个电话号码只看到一次:

SELECT DISTINCT [txtCustomerPhone]

对字段或表达式使用替代名称:AS 关键字

可以通过在子句中使用 SELECT 关键字 (keyword) 和字段别名来AS更改为数据表视图中任何字段显示的标签。 字段别名是为使结果更易辨认而分配给查询中某个字段的名称。 例如,如果要从名为 txtCustPhone的字段中选择数据,可以使用字段别名使结果更易于读取:

SELECT [txtCustPhone] AS [Customer Phone]

注意

在子句中使用 SELECT 表达式时,必须使用字段别名。

使用表达式进行选择

有时您希望查看基于数据的计算或只返回字段值的一部分。 例如,假设您要根据字段中 BirthDate 的数据返回客户的出生年份。 您的 SELECT 子句可能如下所示:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

此表达式使用 DatePart 函数和两个参数: "yyyy" (常量) , ([BirthDate] 标识符) 。

如果任何有效表达式为单个输入值返回单个值,则可以将其用作字段。

返回页首