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

Xây dựng dựa trên Subquery trong FROM

Trong bài trước, bạn đã tìm ra rằng Anh, Hà Lan, Đức và Tây Ban Nha là những quốc gia duy nhất có các trận đấu trong cơ sở dữ liệu mà tổng số bàn thắng đạt từ 10 trở lên. Hãy tìm hiểu chi tiết hơn về những trận đó — thời điểm diễn ra, mùa giải nào, và số bàn thắng sân nhà so với sân khách.

Bạn sẽ thấy trong bài này, bí danh bảng được lược bỏ cho mọi cột được chọn ở truy vấn chính. Lý do là truy vấn chính đang lấy dữ liệu từ subquery, vốn được coi như một bảng đơn.

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

  • Hoàn thiện subquery trong mệnh đề FROM. Chọn name của quốc gia từ bảng country, cùng với các cột date, home_goal, away_goal, và total_goals từ bảng match.
  • Tạo một cột trong subquery cộng số bàn thắng sân nhà và sân khách, đặt tên là total_goals. Cột này sẽ được dùng để lọc truy vấn chính.
  • Trong truy vấn chính, chọn các cột country, date, home_goal, và away_goal.
  • Lọc truy vấn chính cho các trận có tổng số bàn thắng từ 10 trở lê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.

SELECT
	-- Select country, date, home, and away goals from the subquery
    ___,
    date,
    ___,
    away_goal
FROM 
	-- Select country name, date, home_goal, away_goal, and total goals in the subquery
	(SELECT ___ AS country, 
     	    m.date, 
     		___, 
     		m.away_goal,
           (___ + m.away_goal) AS total_goals
    FROM match AS m
    LEFT JOIN country AS c
    ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;
Chỉnh sửa và Chạy Mã