返回首页

SQL 训练器:开发者查询练习

真实在线商店和图书馆场景的交互式 SQL 练习训练器。练习 JOIN、聚合、窗口函数,无需理论。适合中级及以上开发者、分析师和 QA。

SQL 练习:IT 专家真实数据库训练器
Advertisement 728x90

实战场景下的交互式SQL练习平台

这个互动训练平台让你直接通过实时SQL查询访问真实数据库。用户在模拟常见商业场景的模块中完成实际任务,例如管理电商平台的订单流程。全程无理论讲解,专注在真实环境中编写和调试查询语句。

模块基于真实的表结构和实际数据构建,要求使用JOIN、聚合和过滤等技术。例如,在电商场景中,你需要分析用户、订单与商品之间的关系,提取销售指标。

模块结构与典型任务

每个模块都包含一个独立的数据库,预置了完整的数据表。任务强调动手能力——从基础的SELECT语句到复杂的子查询和窗口函数。

Google AdInline article slot

在「电商平台」模块中:

  • 获取活跃用户的列表及其累计订单金额。
  • 使用GROUP BY按商品类别计算平均订单金额。
  • 利用窗口函数(如ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY order_date))分析用户留存率。

即将上线的「图书馆」模块包含:

  • 使用LIKE和全文检索查找特定类型的书籍。
  • 通过子查询统计借阅情况,对热门作者进行排名。
  • 使用HAVING聚合读者行为数据,筛选出最活跃的用户群体。

| 模块 | 核心数据表 | 核心操作 |

Google AdInline article slot

|--------|------------|------------------|

| 电商平台 | users, orders, products | JOIN, GROUP BY, 聚合运算 |

| 图书馆 | readers, books, issues | WHERE, 子查询, 窗口函数 |

Google AdInline article slot

训练平台涵盖的核心技能

该平台覆盖完整的SQL工作流:

  • 基础查询:使用SELECT、WHERE、ORDER BY进行数据筛选与排序。
  • 连接操作:INNER JOIN、LEFT JOIN实现关联表的数据合并。
  • 聚合分析:结合GROUP BY与HAVING使用COUNT、SUM、AVG等函数。
  • 子查询与CTE:处理相关子查询,利用WITH子句实现多步骤分析。
  • 窗口函数:运用RANK、LAG、LEAD等函数进行序列化数据分析。

示例任务:"找出上个月收入最高的前5款产品,排除已取消订单(status = 'cancelled')。"

SELECT 
    p.name,
    SUM(oi.quantity * p.price) as revenue
FROM products p
JOIN order_items oi ON p.id = oi.product_id
JOIN orders o ON oi.order_id = o.id
WHERE o.order_date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
  AND o.status != 'cancelled'
GROUP BY p.id, p.name
ORDER BY revenue DESC
LIMIT 5;

这种模式让你能立即在真实数据上验证语法和逻辑正确性。

核心优势

  • 聚焦真实问题,无需理论灌输——每条查询即时反馈结果。
  • 兼容标准ANSI SQL,支持PostgreSQL、MySQL和SQLite。
  • 模块化设计,循序渐进学习——从简单过滤到高级分析。
  • 支持角色定制:开发者可练习ORM集成,分析师可构建BI可用查询。
  • 免注册免费使用,一键启动,即刻上手。

在专业环境中的应用

对中级及以上开发者而言,平台有助于优化查询性能:分析EXPLAIN执行计划、制定索引策略、评估大数据集下的运行效率。质量保证工程师可用它生成测试数据并验证数据库结构完整性。

业务分析师可练习关键指标分析:使用窗口函数进行用户分群分析、漏斗转化追踪。数据库管理员则可通过真实场景测试数据迁移方案与约束条件验证。

全平台超过50个任务,难度逐级递增。支持与GitHub集成,轻松保存并追踪你的解决方案。

— Editorial Team

Advertisement 728x90

继续阅读