Table of Contents
前面的章节解释了如何创建表、如何用数据填充它们,以及如何操纵这些数据。现在我们终于可以讨论如何从数据库中检索数据了。
从数据库中检索数据的过程或用于检索数据的命令称为查询。在 SQL 中,使用SELECT命令来指定查询。SELECT命令的一般语法是
[WITHwith_queries] SELECTselect_listFROMtable_expression[sort_specification]
下面几节将介绍选择列表、表表达式和排序规范的细节。由于WITH查询属于高级特性,因此放在最后讨论。
一种简单查询的形式如下:
SELECT * FROM table1;
假设存在一个名为table1的表,则这条命令会从table1中检索所有行以及所有用户定义列。(具体的检索方式取决于客户端应用。例如,psql程序会在屏幕上显示一个 ASCII 形式的表格,而客户端库则会提供从查询结果中提取单个值的函数。)选择列表说明*表示表表达式所提供的全部列。选择列表也可以只选择部分可用列,或者利用这些列进行计算。例如,如果table1有名为a、b和c的列(还可能有其他列),那么可以写出下面的查询:
SELECT a, b + c FROM table1;
(假设b和c都是数值数据类型)。有关更多细节请参见Section 7.3。
FROM table1是一种简单的表表达式:它只读取一个表。通常,表表达式可以是由基本表、连接和子查询组成的复杂结构。不过,你也可以完全省略表表达式,把SELECT命令当成计算器来使用:
SELECT 3 * 4;
如果选择列表中的表达式会返回变化的结果,这种用法就更有用了。例如,你可以这样调用函数:
SELECT random();
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。