SQL执行顺序详解
好的,以下是详细的SQL执行顺序的详解,并整理成文档格式:
SQL执行顺序详解
SQL 关键字执行顺序
FROM -> JOIN/ON -> WHERE -> GROUP BY -> HAVING
-> SELECT -> DISTINCT -> ORDER BY -> LIMIT -> OFFSET
-> UNION -> INSERT INTO / UPDATE / DELETE FROM
FROM 子句
- 作用:指定查询的数据源表或视图。
- 语法:
FROM table_name
JOIN 子句
- 作用:将多个表连接起来,根据指定的条件。
- 语法:
1
JOIN table_name ON join_condition
JOIN关键字用于连接表。ON关键字用于指定连接条件。
WHERE 子句
- 作用:筛选符合条件的行。
- 语法:
1
WHERE condition
GROUP BY 子句
- 作用:按照指定的列对结果集进行分组。
- 语法:
1
GROUP BY column_name
HAVING 子句
- 作用:对 GROUP BY 子句分组后的结果进行筛选。
- 语法:
1
HAVING condition
SELECT 子句
- 作用:选择要查询的列或表达式。
- 语法:
1
SELECT column1, column2, ...
DISTINCT 关键字
- 作用:从结果集中删除重复的行。
- 语法:
1
SELECT DISTINCT column1, column2, ...
ORDER BY 子句
- 作用:对结果集按照指定列进行排序。
- 语法:
1
ORDER BY column1 ASC|DESC, column2 ASC|DESC, ...
LIMIT 子句
- 作用:限制返回的行数。
- 语法:
1
LIMIT number
OFFSET 子句(可选)
- 作用:指定返回结果的偏移量。
- 语法:
1
OFFSET offset_value
UNION 子句(可选)
- 作用:合并两个或多个 SELECT 语句的结果集。
- 语法:
1
2
3SELECT column1, column2, ...
UNION
SELECT column1, column2, ...
INSERT INTO 子句
- 作用:向表中插入新的行。
- 语法:
1
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
UPDATE 子句
- 作用:更新表中现有的行。
- 语法:
1
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition
DELETE FROM 子句
- 作用:删除表中的行。
- 语法:
1
DELETE FROM table_name WHERE condition
执行顺序总结
SQL 查询的执行顺序通常为:
FROM -> JOIN/ON -> WHERE -> GROUP BY -> HAVING
-> SELECT -> DISTINCT -> ORDER BY -> LIMIT -> OFFSET
-> UNION -> INSERT INTO / UPDATE / DELETE FROM
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CautionX!
