2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

7.1. 概述 #

从数据库中检索数据或用于检索数据的命令称为 查询。在 SQL 中,SELECT 命令用于指定查询。 SELECT 命令的一般语法是

[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]

以下各节将详细介绍选择列表、表表达式和排序说明。 WITH 查询最后介绍,因为它们是高级功能。

一种简单的查询形式如下

SELECT * FROM table1;

假设有一个名为 table1 的表,此命令将从 table1 中检索所有行和所有用户定义的列。(检索方法取决于客户端应用程序。例如,psql 程序将在屏幕上显示 ASCII 艺术表格,而客户端库将提供从查询结果中提取单个值的函数。)选择列表说明 * 表示表表达式恰好提供的所有列。选择列表还可以选择可用列的子集或使用列进行计算。例如,如果 table1 具有名为 abc(以及可能还有其他)的列,则可以执行以下查询

SELECT a, b + c FROM table1;

(假设 bc 是数值数据类型)。有关更多详细信息,请参阅 第 7.3 节

FROM table1 是一种简单的表表达式:它只读取一个表。通常,表表达式可以是基本表、连接和子查询的复杂结构。但也可以完全省略表表达式,将 SELECT 命令用作计算器

SELECT 3 * 4;

如果选择列表中的表达式返回不同的结果,则此方法更有用。例如,可以通过这种方式调用函数

SELECT random();

提交更正

如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。