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

Subquery Ở KHẮP MỌI NƠI

Trong các giải bóng đá, các trận đấu diễn ra ở những vòng khác nhau. Đội thắng sẽ đi tiếp từ vòng này sang vòng tiếp theo cho đến khi vào chung kết. Ở mỗi vòng, mức độ căng thẳng và quan trọng đều cao hơn vòng trước. Bảng match chứa dữ liệu về các vòng mà mỗi trận diễn ra.

Trong 3 bài tập tiếp theo, bạn sẽ xây dựng một truy vấn có truy vấn con ở từng mệnh đề SELECT, FROM và WHERE. Liệu số bàn thắng trung bình ghi được có thay đổi khi độ căng thẳng tăng dần qua từng vòng?

Truy vấn này lặp lại một truy vấn con để bạn luyện tập cách đặt ở mỗi vị trí. Mỗi bản sao sẽ đọc lại bảng match, vì vậy trong công việc thực tế bạn nên chỉ tính trung bình tổng thể một lần, như Chương 4 minh họa bằng window function.

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

Xử lý dữ liệu trong SQL

Xem khóa học

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

  • Trích xuất số bàn thắng tổng trung bình trong một truy vấn con ở SELECT.
  • Tính trung bình tổng số bàn thắng cho stage cụ thể trong truy vấn chính.
  • Lọc cả hai truy vấn con và truy vấn chính để chỉ bao gồm dữ liệu từ mùa 2012/2013.
  • GROUP truy vấn theo cột m.stage.

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.

SELECT 
	-- Select the stage and average goals for each stage
	m.stage,
    ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Select the average overall goals for the 2012/2013 season
    ROUND((SELECT ___(___ + away_goal) 
           FROM match 
           WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;
Chỉnh sửa và Chạy Mã