FROM İçindeki Alt Sorgular Üzerine İnşa Etmek
Önceki egzersizde, veritabanında toplamda 10 veya daha fazla gol atılan maçların yalnızca İngiltere, Hollanda, Almanya ve İspanya'da oynandığını bulmuştun. Şimdi bu maçlarla ilgili daha fazla ayrıntı bulalım — ne zaman oynandılar, hangi sezonlardaydı ve gollerin kaçı ev sahibi, kaçı deplasman takımı tarafından atıldı.
Bu egzersizde, ana sorguda seçilen her sütun için tablo takma adının kullanılmadığını fark edeceksin. Bunun nedeni, ana sorgunun veriyi alt sorgudan çekmesi ve bu alt sorgunun tek bir tablo gibi ele alınmasıdır.
Bu egzersiz, kursun bir parçasıdır
SQL ile Veri İşleme
Egzersiz talimatları
FROMifadesinin içindeki alt sorguyu tamamla.countrytablosundan ülkename’ini vematchtablosundandate,home_goal,away_goalvetotal_goalssütunlarını seç.- Alt sorguda, ev sahibi ve deplasman gollerini toplayan ve
total_goalsadını verdiğin bir sütun oluştur. Bu sütun ana sorguyu filtrelemek için kullanılacak. - Ana sorguda
country,date,home_goalveaway_goalseç. - Ana sorguyu toplam golü 10 veya daha fazla olan maçlarla filtrele.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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 ___ ___;