Subquery và CTE
Bạn đã học được nhiều cách viết truy vấn và cách các lựa chọn này ảnh hưởng đến hiệu năng. Bài tập này sẽ tiếp tục xem xét nhân khẩu học của các quốc gia châu Phi có vận động viên tham dự Thế vận hội, tập trung vào Thế vận hội Mùa hè.
Với các truy vấn đã được soạn sẵn, bạn sẽ tái cấu trúc chúng và đánh giá tác động của các thay đổi. Trước hết, bạn sẽ thấy sự khác biệt trong kế hoạch truy vấn khi dùng subquery so với common table expressions (CTE).
Chạy kế hoạch thực thi cho từng bước.
Bài tập này là một phần của khóa học
Cải thiện hiệu năng truy vấn trong PostgreSQL
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- 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;