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

Subquery trong Select cho phép tính

Subquery trong SELECT là một cách hữu ích để tạo các cột tính toán trong truy vấn. Một subquery trong SELECT có thể được xem như một giá trị số đơn lẻ để dùng trong phép tính của bạn. Khi viết subquery trong SELECT, cần nhớ rằng lọc ở truy vấn chính sẽ không tự động lọc subquery — và ngược lại.

Ở bài trước, bạn đã tạo một cột để so sánh số bàn thắng trung bình mỗi giải với số bàn thắng trung bình toàn mùa 2013/2014. Trong bài này, bạn sẽ thêm một cột so sánh trực tiếp hai giá trị này bằng cách lấy trung bình theo giải trừ đi trung bình toàn mùa từ subquery.

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

  • Chọn số bàn thắng trung bình mỗi trận cho từng giải trong truy vấn chính.
  • Chọn số bàn thắng trung bình mỗi trận toàn bộ cho mùa '2013/2014' trong subquery.
  • Trừ giá trị từ subquery khỏi số bàn thắng trung bình tính cho mỗi giải.
  • Lọc truy vấn chính để chỉ bao gồm các trận của mùa '2013/2014'.

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 league name and average goals scored
	___ AS league,
	ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Subtract the overall average from the league average
	ROUND(AVG(___ + m.away_goal) ___ 
		(SELECT ___(___ + away_goal)
		 FROM match 
         WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;
Chỉnh sửa và Chạy Mã