开始使用免费开始使用

子查询 vs. CTE

您已经学习了多种编写查询的方法,以及这些选择如何影响性能。本练习将再次查看参加奥运会的非洲国家的人口统计数据。您将重点关注夏季奥运会。

使用预先编写的查询,您将重构这些查询并评估更改带来的影响。您将先比较使用子查询与公用表表达式(CTE)时查询计划的差异。

为每一步运行执行计划。

本练习是课程的一部分

提升 PostgreSQL 查询性能

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

-- Subquery
___ ___
SELECT city
, sex
, COUNT(DISTINCT athlete_id) as no_athletes
, AVG(age) as avg_age
FROM athletes_summ
WHERE country_code IN (SELECT olympic_cc FROM demographics WHERE gdp > 10000 and year = 2016)
AND year = 2016
GROUP BY city, sex;
编辑并运行代码