📜  PostgreSQL – ORDER BY 子句(1)

📅  最后修改于: 2023-12-03 15:18:38.482000             🧑  作者: Mango

PostgreSQL - ORDER BY 子句

在 PostgreSQL 中,ORDER BY 子句用于按照指定的列或表达式对查询结果排序。它可以按升序或降序排列结果,并支持多个排序条件。

语法

下面是 ORDER BY 子句的基本语法:

SELECT 列列表
FROM 表名
ORDER BY 列名 [ASC | DESC], 列名 [ASC | DESC], ...
  • 列列表: 需要返回的列的列表。
  • 表名: 要从中检索数据的表名。
  • 列名: 指定按其对结果进行排序的列的名称。
  • ASC: 升序排序(默认)。
  • DESC: 降序排序。

支持多个列名作为排序条件,这会按顺序对结果进行排序。第一个列名是主要排序条件,如果有相同的值,则使用下一个列名作为次要排序条件,以此类推。

示例

考虑一个名为 "employees" 的表,包含以下列:

  • employee_id
  • first_name
  • last_name
  • hire_date

我们可以使用 ORDER BY 子句对此表进行排序,例如:

SELECT *
FROM employees
ORDER BY last_name ASC, first_name ASC;

上面的查询将按姓氏升序排列,如果有相同姓氏,将按名字升序排列。

注意事项
  • 如果指定的列包含 NULL 值,则 NULL 值将在排序过程中排在前面(升序)或后面(降序)。
  • 如果不使用 ORDER BY 子句,则查询结果的顺序是不确定的。
  • 可以在 ORDER BY 子句中使用列索引,而不仅仅是列名称。
总结

ORDER BY 子句是 PostgreSQL 中用于对查询结果排序的重要工具。它允许我们按升序或降序排列列或表达式,并支持多个排序条件。在数据库应用中,正确使用 ORDER BY 可以以更有序和有意义的方式返回结果。