BaşlayınÜcretsiz başlayın

İç içe yerleştirilmiş alt sorgularla CTE'ler

Eğer FROM kısmında iç içe ifadelerle birden fazla alt sorgu listelersen, sorgun muhtemelen uzun, karmaşık ve okunması zor hale gelir.

Birçok sorgu gelecekte kaydedilip tekrar çalıştırılmak üzere yazıldığından, düzgün bir düzen akıcı bir çalışma için kritik önemdedir. Alt sorguları CTE olarak düzenlemek uzun vadede sana zaman, alan ve kafa karışıklığı kazandırır!

Bu egzersiz, kursun bir parçasıdır

SQL ile Veri İşleme

Kursa Göz Atın

Egzersiz talimatları

  • '2013/2014' sezonunun Ağustos ayındaki maçlardan toplam gol sayısını hesaplayan bir CTE tanımla.
  • İçteki alt sorguda yalnızca '2013/2014' sezonunun Ağustos ayındaki maçları seçecek şekilde filtrele.
  • CTE'yi match_list CTE'sindeki country_id'yi kullanarak league tablosuna LEFT JOIN ile bağla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- Set up your CTE
___ match_list ___ (
    SELECT 
  		country_id,
  	   (home_goal + away_goal) AS goals
    FROM match
  	-- Create a list of match IDs to filter data in the CTE
    WHERE id IN (
       SELECT ___
       FROM ___
       WHERE season = ___ AND EXTRACT(MONTH FROM ___) = ___))
-- Select the league name and average of goals in the CTE
SELECT 
	___,
    ___(___)
FROM league AS l
-- Join the CTE onto the league table using country_id
LEFT JOIN ___ ON l.id = match_list.___
GROUP BY l.name;
Kodu Düzenle ve Çalıştır