เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ต่อยอดจาก Subquery ใน FROM

จากแบบฝึกหัดก่อนหน้า พบว่าอังกฤษ เนเธอร์แลนด์ เยอรมนี และสเปน เป็นประเทศเดียวในฐานข้อมูลที่มีแมตช์ที่ทำประตูได้รวมกัน 10 ประตูขึ้นไป คราวนี้มาดูรายละเอียดเพิ่มเติมของแมตช์เหล่านั้นกัน ทั้งวันที่แข่ง ฤดูกาล และจำนวนประตูที่ทำได้ฝ่ายเหย้าและฝ่ายเยือน

สังเกตว่าในแบบฝึกหัดนี้ ไม่มีการระบุ alias ของตารางสำหรับทุกคอลัมน์ที่ SELECT ในคิวรีหลัก เนื่องจาก คิวรีหลัก ดึงข้อมูลจาก subquery ซึ่งถือเป็น ตารางเดียว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจัดการข้อมูลใน SQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติม subquery ภายใน clause FROM โดย SELECT คอลัมน์ name ของประเทศจากตาราง country พร้อมกับคอลัมน์ date, home_goal, away_goal และ total_goals จากตาราง match
  • สร้างคอลัมน์ใน subquery ที่รวมประตูเหย้าและประตูเยือนเข้าด้วยกัน ตั้งชื่อว่า total_goals เพื่อนำไปใช้กรองคิวรีหลัก
  • SELECT คอลัมน์ country, date, home_goal และ away_goal ในคิวรี หลัก
  • กรอง คิวรีหลักให้แสดงเฉพาะแมตช์ที่มีประตูรวม 10 ประตูขึ้นไป

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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 ___ ___;
แก้ไขและรันโค้ด