概述

从数据库中检索数据的过程或命令叫做 查询 。在 SQL 里SELECT命令用于声明查询。SELECT命令的通用语法如下:

SELECT select_list FROM table_expression [sort_specification]

随后的几节将描述选择列表、表表达式、排序声明的细节。

一个简单的查询的形式如下:

SELECT * FROM table1;

假设有一个table1表,这条命令将从table1 中检索所有行和所有用户定义的列。检索的方法取决于客户端应用程序。 比如,psql程序将在屏幕上显示一个 ASCII 艺术构成的表格, 客户端库将提供检索独立行和列的函数。选择列表声明为* 表示表表达式提供的所有可用列。一个选择列表也可以选择可用列的一个子集或者使用这些列进行计算;比如,如果table1有名为a,b, c 的列(可能还有其它),那么你可以用下面的查询(假设 b 和 c 都是数字数据类型):

SELECT a, b + c FROM table1;

FROM table1是一种简单的表表达式:它只读取了一个表。 通常,表表达式可以是基本表、连接、子查询的复杂构造。 但你也可以省略表表达式而只用SELECT命令当做一个计算器:

SELECT 3 * 4;

如果选择列表里的表达式返回变化的结果,那么这个东西就更有用了。比如, 你可以用这个方法调用函数:

SELECT random();