Alt sorgu vs INNER JOIN
Sıkça, ilişkili alt sorgu sonuçları bir INNER JOIN kullanılarak çoğaltılabilir. Gereksinimlerine bağlı olarak, INNER JOIN kullanmak daha verimli olabilir; çünkü veriler üzerinde yalnızca bir kez geçiş yapar, oysa ilişkili alt sorgu dış sorgudaki her satır için çalışmak zorundadır.
Dünyadaki her ülke için en büyük şehrin 2017 nüfusunu bulmak istiyorsun. Bu bilgiyi Earthquakes veritabanındaki dış sorgu olarak Nations tablosunu ve alt sorguda Cities tablosunu kullanarak alabilirsin.
Önce bu sorguyu bir ilişkili alt sorgu olarak oluşturacak, ardından bir INNER JOIN kullanarak yeniden yazacaksın.
Bu egzersiz
SQL Server'da Sorgu Performansını İyileştirme
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
SELECT
n.CountryName,
(SELECT MAX(c.___) -- Add 2017 population column
FROM Cities AS c
-- Outer query country code column
WHERE c.CountryCode = n.___) AS BiggestCity
FROM ___ AS n; -- Outer query table