Logo
Section 1 / 8

SQL查询的结构解析

简要介绍 SQL 中的基本子句。

导入

SQL查询的结构解析

简要介绍 SQL 中的基本子句。

常用子句

SQL 查询中的常用子句如下:

1SELECT <表达式> 2FROM <表名> 3JOIN <关联的表> ON <连接条件> 4WHERE <谓词> 5GROUP BY <表达式> 6HAVING <谓词> 7ORDER BY <表达式> 8LIMIT <返回行数>

以下是各个子句的简要说明:

SELECT:指定查询结果中要显示的列和表达式。

在 PostgreSQL 中,只有 SELECT 子句是必需的。

FROM:指定数据来源的表。

JOIN:描述 FROM 子句中各表之间的关联关系。

一个查询可以访问多个相关的表。例如,product 表可能包含一个 category_id 字段,用于引用 category 表。通过 JOIN 子句,我们可以定义这些表之间的关联方式。

WHERE:根据指定条件对数据进行过滤。

GROUP BY:指定用于分组结果的列或表达式。仅当需要对查询结果进行分组时才使用该子句;否则可省略。

HAVING:基于聚合函数的结果进行过滤。使用此子句时必须同时使用 GROUP BY 子句。

ORDER BY:指定用于排序结果集的列或表达式。

LIMIT:限制返回结果的行数。

执行顺序

上述 SQL 子句虽然按特定顺序书写,但数据库执行时并非按照该顺序进行。

实际上,数据库执行 SQL 查询的顺序如下:

  1. FROM:确定要访问的表,并执行 JOIN 子句中的表连接。
  2. WHERE:应用过滤条件,对数据进行筛选。
  3. GROUP BY:对数据进行分组,并计算聚合函数(如 COUNT、SUM 等)。
  4. HAVING:对上一步产生的聚合结果应用过滤条件。
  5. SELECT:确定要输出的列并计算表达式的值。
  6. ORDER BY:对最终结果集进行排序。
  7. LIMIT:限制最终返回的行数。

了解数据库执行 SQL 的实际顺序,有助于更好地理解每个子句的作用和逻辑流程。

简介

公共表表达式