支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:开发版
不支持的版本: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();

提交更正

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