Hesaplamalar için Select içindeki Alt Sorgular
SELECT içindeki alt sorgular, sorguda hesaplanmış sütunlar oluşturmanın kullanışlı bir yoludur. SELECT içindeki bir alt sorgu, hesaplamalarında kullanabileceğin tek bir sayısal değer gibi ele alınabilir. SELECT içinde sorgu yazarken şunu unutmamak önemlidir: ana sorguyu filtrelemek alt sorguyu filtrelemez — bunun tersi de geçerlidir.
Önceki egzersizde, her ligin maç başına ortalama toplam gol sayısını 2013/2014 sezonundaki genel ortalama gollerle karşılaştırmak için bir sütun oluşturmuştun. Bu egzersizde, alt sorgudan gelen genel ortalamayı çıkararak bu değerleri doğrudan karşılaştıran bir sütun ekleyeceksin.
Bu egzersiz, kursun bir parçasıdır
SQL ile Veri İşleme
Egzersiz talimatları
- Ana sorguda her lig için maçta atılan ortalama gol sayısını seç.
- Alt sorguda,
'2013/2014'sezonu için genel maç başına ortalama gol sayısını seç. - Her lig için hesaplanan ortalama gol sayısından alt sorguyu çıkar.
- Ana sorguyu filtreleyerek yalnızca
'2013/2014'sezonundaki maçları dahil et.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;