7.1. Overview

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

[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]

以下各节描述了选择列表,表表达式和排序规范的详细信息。 WITH查询是一项高级功能,因此会被最后处理。

一种简单的查询具有以下形式:

SELECT * FROM table1;

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

SELECT a, b + c FROM table1;

(假设bc是数字数据类型)。有关更多详细信息,请参见Section 7.3

FROM table1是一种简单的表表达式:它仅读取一个表。通常,表表达式可以是基表,联接和子查询的复杂构造。但是您也可以完全省略表表达式,并使用SELECT命令作为计算器:

SELECT 3 * 4;

如果选择列表中的表达式返回不同的结果,则这将更为有用。例如,您可以通过以下方式调用函数:

SELECT random();