子查詢 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;