Sub-interogare vs INNER JOIN
Adesea, rezultatele unei sub-interogări corelate pot fi replicate folosind un INNER JOIN. În funcție de cerințele tale, un INNER JOIN poate fi mai eficient, deoarece parcurge datele o singură dată, în timp ce sub-interogarea corelată se execută pentru fiecare rând din interogarea externă.
Vrei să afli populația din 2017 a celui mai mare oraș pentru fiecare țară din lume. Poți obține aceste informații din baza de date Earthquakes, folosind tabela Nations ca interogare externă și tabela Cities în sub-interogare.
Vei crea mai întâi această interogare ca o sub-interogare corelată, apoi o vei rescrie folosind un INNER JOIN.
Acest exercițiu face parte din cursul
Îmbunătățirea performanței interogărilor în SQL Server
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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