PostgreSQL Select

17 Mar 2025 | 4 分钟阅读

在 PostgreSQL 中,SELECT 命令是用于从数据库表中检索数据的核心命令,数据以结果表的形式返回,这被称为结果集

select 命令包含几个子句,我们可以使用这些子句轻松地编写查询。执行 select 命令时的基本任务是从数据库内的表中查询数据。

SELECT 命令的各种子句如下所示

  • 借助 ORDER BY 子句对行进行排序。
  • 使用 GROUP BY 子句将行分组到组中
  • 借助 WHERE 子句筛选行。
  • 借助 HAVING 子句筛选组。
  • 借助 DISTINCT 运算符选择单独的行。
  • 借助 UNION、INTERSECT 和 EXCEPT 执行集合运算。
  • 使用连接与其他表连接,例如 LEFT JOIN、INNER JOIN、CROSS JOIN、FULL OUTER JOIN 条件。

在这里,我们将讨论 SELECT 和 FROM 子句以及其他子句,我们将在 PostgreSQL 教程的后续部分中讨论。

PostgreSQL Select 命令的语法

SELECT 命令用于从单个表中恢复数据。

SELECT 命令的语法如下

以下是上述语法中使用的参数

参数描述
Select_list它用于定义一个选择列表,该列表可以是一个列或表中列的列表,我们希望从中检索数据
Table_name在这里,我们将定义我们要查询数据的表的名称。

注意:如果我们描述一个列的列表,我们可以使用逗号分隔两个列。如果我们需要从表中的所有列中选择数据,我们可以使用星号 (*) 代替描述所有列名,因为选择列表可以具有确切的值或表达式。

SQL 语言不区分大小写,这意味着 select 或 SELECT 具有相同的结果。

PostgreSQL select 命令的其他语法

这里我们使用以下参数

参数描述
column1, column2,….columnN这些用于描述我们从中检索数据的列。

如果我们要从表中检索所有字段,则必须使用以下语法

PostgreSQL 中 Select 命令的示例

在这里,我们将通过以下示例了解 PostgreSQL 中 Select 命令 的使用。

我们将使用 Employee 表,该表是我们之前在 javatpoint 数据库的 Company 模式 中创建的,以便更好地理解。

PostgreSQL Select
  • 使用 SELECT 命令从一列查询数据

在此示例中,我们将使用 SELECT 命令 查找 employee 表 中所有 Employee 的名称:

输出

执行上述查询后,我们将得到以下结果

PostgreSQL Select

注意

  • 要分隔两个 SQL 语句,我们将使用分号 (;)。
  • 在上述查询中,我们在 select 命令的末尾添加了一个分号 (;)。此时,分号不是 SQL 声明的一部分,因为它用于指示 PostgreSQL SQL 命令的结尾。
  • 使用 SELECT 命令从多列查询数据

如果我们要查看特定表的多列数据,我们可以执行以下查询。

例如, 让我们假设我们需要获取 employee 的姓名、年龄和地址。 因此,我们可以在 SELECT 命令中定义这些列名,如下面的查询所示

输出

执行上述命令后,我们将得到以下结果

PostgreSQL Select
  • 使用 Select 命令查询表中的所有列数据

如果我们要获取特定表中的所有列数据,我们可以执行以下查询。

在这里,我们使用下面的查询从 Company 模式下的 employee 表中选择所有列和行

输出

执行上述查询后,我们将得到以下结果

PostgreSQL Select

在上面的例子中,我们使用了 (*) 星号而不是在 select 命令中编写所有列的名称。有时我们有表中 n 个列,并且编写所有列名变得乏味。

但有时在 SELECT 命令中使用星号 (*) 并不是一个好方法。

如果我们在代码中使用嵌入式 SQL 语句,原因如下

  • 我们有一个包含几列的表,并且不必使用带星号 (*) 简写方式的 SELECT 命令从表的所有列中恢复数据。
  • 除此之外,如果我们检索数据库中不重要的数据,它将增强数据库层和应用层之间的负载。并且我们应用程序的输出将更难访问和有意识。因此,最好在 SELECT 子句中公开地描述列名,因为每次都可能只从表中获取所需的数据。
  • 将 SELECT 命令与表达式一起使用

在下面的示例中,我们将借助 select 命令返回所有员工的姓名和地址

在上面的查询中,我们将使用列别名 AS full_name 为名称表达式分配一个列标题。

输出

执行上述查询后,我们将得到以下结果

PostgreSQL Select
  • 将 SELECT 命令与表达式一起使用

在这里,我们将使用一个表达式执行 select 命令,其中我们跳过 From 子句 到 select 命令中,因为该命令不引用任何表。

输出

执行上述命令后,我们将得到以下输出

PostgreSQL Select
下一个主题PostgreSQL 更新