Bắt đầu ngayBắt đầu miễn phí

Truy vấn UNION rồi JOIN

Mục tiêu của bạn là tạo lại báo cáo như trước, bao gồm các trường sau:

  • season, cho ra summer hoặc winter
  • country
  • events, hiển thị số lượng sự kiện duy nhất

Trong bài này, hãy tạo truy vấn theo cách làm UNION trước, JOIN sau. Khi dùng cách này, bạn sẽ cần dùng truy vấn UNION ban đầu làm subquery. Subquery cần bao gồm tất cả các trường liên quan, kể cả các trường dùng để join.

Như mọi khi, bạn có thể tham khảo E:R Diagram.

Bài tập này là một phần của khóa học

Lập báo cáo trong SQL

Xem khóa học

Hướng dẫn bài tập

  • Trong subquery, xây dựng truy vấn xuất ra season, country_idevent bằng cách kết hợp Thế vận hội mùa hè và mùa đông với UNION ALL.
  • Tận dụng một JOIN và một câu lệnh SELECT khác để hiển thị các trường season, country và số events duy nhất.
  • GROUP BY mọi trường không được tổng hợp.
  • Sắp xếp báo cáo theo events giảm dần.

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.

-- Add outer layer to pull season, country and unique events
SELECT 
	____, 
    ____, 
    ____ AS events
FROM
    -- Pull season, country_id, and event for both seasons
    (SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____
    ____
    SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____) AS subquery
JOIN ____ AS c
ON ____
-- Group by any unaggregated fields
GROUP BY ____
-- Order to show most events at the top
ORDER BY ____;
Chỉnh sửa và Chạy Mã