使用 Access SQL 检索记录
最基本且最常用的 SQL 语句是 SELECT 语句。 SELECT 语句是所有 SQL 语句的基础,通常被称为选择查询。 使用 SELECT 语句可以从数据库表中检索数据,结果通常以一组包含任意多字段(或列)的记录(或行)的形式返回。 必须使用 FROM 子句来指定要从哪个表中进行选择。 SELECT 语句的基本结构为:
SELECT field list
FROM table list
要从表中选择所有字段,请使用星号 (*)。 例如,以下语句从 Customers 表中选择所有字段和所有记录。
SELECT *
FROM tblCustomers
要限制通过查询检索到的字段,只需使用字段名称即可。 例如。
SELECT [Last Name], Phone
FROM tblCustomers
若要为结果集中的字段指定其他名称,请使用 AS 关键字为该字段建立别名。
SELECT CustomerID AS [Customer Number]
FROM tblCustomers
限制结果集
通常,你不希望从表中检索所有记录。 根据某些限定条件,你只需要这些记录的子集。 若要限定 SELECT 语句,必须使用 WHERE 子句,以便准确指定要检索的记录。
SELECT *
FROM tblInvoices
WHERE CustomerID = 1
请注意 CustomerID = 1
WHERE 子句的 部分。 一个 WHERE 子句最多可以包含 40 个此类表达式,这些表达式可以用 And 或 Or 逻辑运算符连接。 使用多个表达式可以进一步筛选掉结果集中的某些记录。
SELECT *
FROM tblInvoices
WHERE CustomerID = 1 AND InvoiceDate > #01/01/98#
请注意,日期字符串用数字符号 (#) 括起来。 如果在表达式中使用正则表达式,则必须将该字符串括在单引号 (') 中。 例如。
SELECT *
FROM tblCustomers
WHERE [Last Name] = 'White'
如果不知道整个字符串值,可以将通配符与 Like 运算符一起使用。
SELECT *
FROM tblCustomers
WHERE [Last Name] LIKE 'W*'
有许多通配符可供选择,下表列出了通配符及其用途。
通配符 | 说明 |
---|---|
* | 零个或多个字符 |
? | 任意单个字符 |
# | 任何单个数字 (0-9) |
[ charlist ] | 在 charlist 中的任何单个字符。 |
[! charlist ] | 不在 charlist 中的任何单个字符。 |
对结果集进行排序
若要在结果集中的一个或多个字段上指定特定的排序顺序,请使用可选的 ORDER BY 子句。 记录可以升序 (ASC) 排序,也可以按降序 (DESC) 排序;默认为升序。
ORDER BY 子句中引用的字段不必是 SELECT 语句的字段列表的一部分,并且排序可以应用于字符串、数值和日期/时间值。 始终将 ORDER BY 子句放在 SELECT 语句的末尾。
SELECT *
FROM tblCustomers
ORDER BY [Last Name], [First Name] DESC
还可以在 ORDER BY 子句中使用字段编号(或位置)而不使用字段名。
SELECT *
FROM tblCustomers
ORDER BY 2, 3 DESC
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈