基于Python的PostgreSQL数据库操作示例(三)
SQL 查询语句各子句出现的顺序及其作用
在LeetCode上看见一位用户关于SQL查询语句的总结:连接在这里。
- SELECT - 用于指定希望检索哪些列或表达式。
SELECT column_name(s), expression(s)
- FROM - 指定要从中检索数据的表或视图。
FROM table_name(s)
- JOIN - 如果需要从多个表中获取数据,可以使用 JOIN 子句来指定如何连接这些表。
[JOIN | INNER JOIN | LEFT JOIN | RIGHT JOIN | FULL JOIN] table_name ON condition
- WHERE - 用于筛选满足特定条件的行。
WHERE condition
- GROUP BY - 当需要对结果集进行分组时使用,通常与聚合函数如 COUNT(), SUM(), AVG() 等一起使用。
GROUP BY column_name(s)
- HAVING - 类似于 WHERE 子句,但是用于过滤已经分组的数据。HAVING 子句只能用在带有 GROUP BY 子句的查询中,并且可以包含聚合函数。
HAVING condition
- ORDER BY - 用于对结果集中的行排序,可以指定升序(ASC,默认)或降序(DESC)。
ORDER BY column_name(s) [ASC | DESC]
- LIMIT - 限制结果集中的行数。
LIMIT count
- OFFSET - 在结果集中跳过指定数量的行,通常与 LIMIT 结合使用。
OFFSET count
将这些子句组合在一起,一个完整的 SQL 查询可能看起来像这样:
SELECT column_name(s)
FROM table_name(s)
[JOIN ... ON ...]
[WHERE condition]
[GROUP BY column_name(s)]
[HAVING condition]
[ORDER BY column_name(s) [ASC | DESC]]
[LIMIT count]
[OFFSET count];