Postgres 支持 SELECT 语句从数据库中的零个或多个表或视图中检索记录。

SELECT [ * | column1, column2,... | expression ]
    [ FROM [table1 [, table2,..] [,view1, view2..]
    [ WHERE condition ]
    [ GROUP BY [ column1 [,column2,..]]]
    [ HAVING condition ]
    [ WINDOW window_name AS ( window_definition )]
    [ ORDER BY expression [ ASC | DESC | USING operator ] ]
    [ LIMIT { count | ALL } ]
    [ OFFSET start [ ROW | ROWS ] ]
    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES } ]
    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name] [ NOWAIT | SKIP LOCKED ]] 

使用 SELECT 语句,

  • 在 SELECT 子句后指定要检索其数据的一个或多个列名。多个列名应以逗号分隔。
  • 还可以选择使用 SELECT 子句指定表达式。
  • 在 SELECT 之后指定星号 (*) 以选择所有列。选择列表还可以包含表达式或文字值。
  • 在 FROM 子句后指定一个或多个要从中选择数据的表名。
  • (可选)使用 WHERE、GROUP BY、HAVING、ORDER BY、WINDOW、LIMIT、OFFSET、FETCH、FOR 子句。
  • 注意:
    SQL 关键字不区分大小写,因此您可以编写 SELECT、Select 或 select。出于格式化目的,我们将所有 SQL 关键字保留为大写字母。

    让我们看看如何使用 SELECT 语句从以下 employee 表中获取数据。

    PostgreSQL SELECT 语句

    以下 SELECT 语句从 employee 表的单个列中检索数据。

    SELECT first_name FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    以下 SELECT 语句从 employee 表的多个列中检索数据。

    SELECT emp_id, first_name, last_name FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    以下 SELECT 语句使用 * 从 employee 表的所有列中检索数据。

    SELECT * FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    带有 SELECT 子句的表达式

    您可以在 SELECT 语句中使用该表达式。以下使用 || 连接first_name 和last_name 列操作员。

    SELECT first_name || ' ' || last_name FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    它还可以返回基本数学运算的结果。

    SELECT 6 * 4; 

    PostgreSQL SELECT 语句

    列别名

    别名允许您为 SELECT 语句中的列或表达式分配临时名称。别名使 SELECT 查询的结果集中的列更具可读性。列别名仅在查询期间存在。

    以下查询将结果中的first_name 列重命名为Name,将last_name 列重命名为Surname。

    SELECT first_name AS Name, last_name Surname FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    使用双引号 (") 包含空格或更改列别名的大小写,如下所示。

    SELECT first_name AS "First Name", last_name "Surname"
    FROM employee; 

    下面显示了 pgAdmin 中的结果。

    PostgreSQL SELECT 语句

    因此,您可以使用 SELECT 语句从表中检索数据。