npx skills add https://github.com/0xdarkmatter/claude-mods --skill sql-ops常用 SQL 模式的快速参考。
WITH active_users AS (
SELECT id, name, email
FROM users
WHERE status = 'active'
)
SELECT * FROM active_users WHERE created_at > '2024-01-01';
WITH
active_users AS (
SELECT id, name FROM users WHERE status = 'active'
),
user_orders AS (
SELECT user_id, COUNT(*) as order_count
FROM orders GROUP BY user_id
)
SELECT u.name, COALESCE(o.order_count, 0) as orders
FROM active_users u
LEFT JOIN user_orders o ON u.id = o.user_id;
| 函数 | 用途 |
|---|---|
ROW_NUMBER() | 唯一顺序编号 |
RANK() | 带间隔的排名(1, 2, 2, 4) |
Quick reference for common SQL patterns.
WITH active_users AS (
SELECT id, name, email
FROM users
WHERE status = 'active'
)
SELECT * FROM active_users WHERE created_at > '2024-01-01';
WITH
active_users AS (
SELECT id, name FROM users WHERE status = 'active'
),
user_orders AS (
SELECT user_id, COUNT(*) as order_count
FROM orders GROUP BY user_id
)
SELECT u.name, COALESCE(o.order_count, 0) as orders
FROM active_users u
LEFT JOIN user_orders o ON u.id = o.user_id;
| Function | Use |
|---|---|
ROW_NUMBER() | Unique sequential numbering |
RANK() |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
DENSE_RANK()| 无间隔的排名(1, 2, 2, 3) |
LAG(col, n) | 上一行的值 |
LEAD(col, n) | 下一行的值 |
SUM() OVER | 累计总和 |
AVG() OVER | 移动平均值 |
SELECT
date,
revenue,
LAG(revenue, 1) OVER (ORDER BY date) as prev_day,
SUM(revenue) OVER (ORDER BY date) as running_total
FROM daily_sales;
| 类型 | 返回结果 |
|---|---|
INNER JOIN | 仅匹配的行 |
LEFT JOIN | 所有左表行 + 匹配的右表行 |
RIGHT JOIN | 所有右表行 + 匹配的左表行 |
FULL JOIN | 所有行,不匹配处为 NULL |
-- OFFSET/LIMIT(简单,对于大偏移量较慢)
SELECT * FROM products ORDER BY id LIMIT 20 OFFSET 40;
-- Keyset(快速,可扩展)
SELECT * FROM products WHERE id > 42 ORDER BY id LIMIT 20;
| 索引类型 | 最佳适用场景 |
|---|---|
| B-tree | 范围查询,ORDER BY |
| Hash | 仅精确相等 |
| GIN | 数组,JSONB,全文搜索 |
| Covering | 避免表查找 |
| 错误做法 | 修正方法 |
|---|---|
SELECT * | 明确列出列 |
WHERE YEAR(date) = 2024 | WHERE date >= '2024-01-01' |
NOT IN 与 NULL 值 | 使用 NOT EXISTS |
| N+1 查询 | 使用 JOIN 或批量查询 |
如需详细模式,请加载:
./references/window-functions.md - 完整的窗口函数模式./references/indexing-strategies.md - 索引类型、覆盖索引、优化每周安装数
1
代码仓库
GitHub 星标数
8
首次出现
1 天前
安全审计
安装于
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
| Rank with gaps (1, 2, 2, 4) |
DENSE_RANK() | Rank without gaps (1, 2, 2, 3) |
LAG(col, n) | Previous row value |
LEAD(col, n) | Next row value |
SUM() OVER | Running total |
AVG() OVER | Moving average |
SELECT
date,
revenue,
LAG(revenue, 1) OVER (ORDER BY date) as prev_day,
SUM(revenue) OVER (ORDER BY date) as running_total
FROM daily_sales;
| Type | Returns |
|---|---|
INNER JOIN | Only matching rows |
LEFT JOIN | All left + matching right |
RIGHT JOIN | All right + matching left |
FULL JOIN | All rows, NULL where no match |
-- OFFSET/LIMIT (simple, slow for large offsets)
SELECT * FROM products ORDER BY id LIMIT 20 OFFSET 40;
-- Keyset (fast, scalable)
SELECT * FROM products WHERE id > 42 ORDER BY id LIMIT 20;
| Index Type | Best For |
|---|---|
| B-tree | Range queries, ORDER BY |
| Hash | Exact equality only |
| GIN | Arrays, JSONB, full-text |
| Covering | Avoid table lookup |
| Mistake | Fix |
|---|---|
SELECT * | List columns explicitly |
WHERE YEAR(date) = 2024 | WHERE date >= '2024-01-01' |
NOT IN with NULLs | Use NOT EXISTS |
| N+1 queries | Use JOIN or batch |
For detailed patterns, load:
./references/window-functions.md - Complete window function patterns./references/indexing-strategies.md - Index types, covering indexes, optimizationWeekly Installs
1
Repository
GitHub Stars
8
First Seen
1 day ago
Security Audits
Installed on
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
AI新闻播客制作技能:实时新闻转对话式播客脚本与音频生成
1,200 周安装