SQL 速查表 - 常用查询语法与示例大全
写 SQL 时最常用、最容易忘的语法都在这里,按查询、连接、聚合、窗口函数、事务分好类,配示例直接复制。
返回 数据库基础查询 Basic 6
SELECT * FROM users查询全部列
SELECT name, age FROM users查询指定列
SELECT * FROM users WHERE age > 18带条件过滤
SELECT DISTINCT city FROM users去重
SELECT * FROM users LIMIT 10 OFFSET 20分页(跳过 20 取 10)
SELECT * FROM users ORDER BY age DESC排序(降序)
过滤与逻辑 Filtering 6
WHERE name LIKE 'A%'前缀匹配
WHERE name LIKE '%son'后缀匹配
WHERE age BETWEEN 18 AND 30范围
WHERE id IN (1, 2, 3)集合匹配
WHERE a IS NULL空值判断
WHERE a AND b OR c逻辑组合(AND 优先于 OR)
聚合与分组 Aggregation 5
SELECT COUNT(*) FROM users计数
SELECT AVG(age) FROM users平均值
SELECT city, COUNT(*) FROM users GROUP BY city分组
HAVING COUNT(*) > 5分组后过滤(对聚合结果)
SELECT MAX(age), MIN(age) FROM users最大/最小值
连接 JOIN 5
FROM a JOIN b ON a.id = b.a_id内连接
FROM a LEFT JOIN b ON a.id = b.a_id左连接(保留 a 全部)
FROM a RIGHT JOIN b ON a.id = b.a_id右连接
FROM a CROSS JOIN b笛卡尔积
SELECT * FROM a NATURAL JOIN b按同名列自动连接
窗口函数 Window 4
ROW_NUMBER() OVER (ORDER BY age)行号
RANK() OVER (PARTITION BY city ORDER BY age)排名(并列跳号)
SUM(amount) OVER (PARTITION BY user_id)分区累计
LAG(price) OVER (ORDER BY date)取上一行
写入与事务 DML/TX 5
INSERT INTO t (a, b) VALUES (1, 'x')插入
UPDATE t SET a = 2 WHERE id = 1更新
DELETE FROM t WHERE id = 1删除
BEGIN; ... COMMIT;事务提交
ROLLBACK;回滚事务
表结构 DDL 4
CREATE TABLE t (id INT PRIMARY KEY, name TEXT)建表
ALTER TABLE t ADD COLUMN age INT加列
DROP TABLE t删表
CREATE INDEX idx_name ON t(name)建索引
💡 提示
- AND 优先级高于 OR,复杂条件务必加括号。
- GROUP BY 的列必须出现在 SELECT(聚合列除外)。
- LIKE 区分大小写取决于数据库排序规则。
- 改数据前先用 BEGIN; 开启事务,确认后 COMMIT。
由 LaoHand 维护
公开更新于 2026年8月2日,内容持续校对官方文档。