PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

7.1. 概述 #

从数据库中检索提取数据的操作过程或对应命令被称为查询(query)。在 SQL 语言中,通过 SELECT 命令声明查询。其通用语法骨架为:

[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]

后续各节将逐一深入说明选择列表(select list)、表表达式(table expression)以及排序规范(sort specification)。WITH 公用表表达式由于属于进阶高级特性,放在本章末尾专门讨论。

最简单的基础查询形式如下:

SELECT * FROM table1;

假设数据库中已创建名为 table1 的表,该命令将检索并返回 table1 中的全部数据行以及全部用户自定义字段列(结果集具体的呈现格式取决于所用的客户端应用程序:例如命令行工具 psql 会在终端屏幕上绘制 ASCII 格式的对齐表格,而编程语言驱动库则提供专有函数供遍历提取各个单元格数值)。选择列表中的星号 * 代表直接输出表表达式所能提供的全部字段。选择列表也可以仅筛选目标字段的子集,或在列值之上执行数学运算:

SELECT a, b + c FROM table1;

详见 Section 7.3。

FROM table1 属于最简略形态的表表达式,仅扫描单张物理表。在实际工程中,表表达式可以是极其复杂的基表、连接(JOIN)与子查询的复合构造。在计算纯数学常量时甚至可以彻底省略 FROM 子句,直接将 SELECT 当作计算器使用:

SELECT 3 * 4;
SELECT random();