Zacznij terazZacznij za darmo

Podzapytanie a INNER JOIN

Wyniki skorelowanego podzapytania można często uzyskać za pomocą INNER JOIN. W zależności od wymagań, INNER JOIN może być wydajniejszy, ponieważ przetwarza dane tylko raz – natomiast skorelowane podzapytanie jest wykonywane osobno dla każdego wiersza zapytania zewnętrznego.

Chcesz poznać liczbę ludności w 2017 roku dla największego miasta w każdym kraju na świecie. Informacje te możesz pobrać z bazy danych Earthquakes – tabela Nations posłuży jako zapytanie zewnętrzne, a tabela Cities znajdzie się w podzapytaniu.

Najpierw utwórz to zapytanie jako skorelowane podzapytanie, a następnie przepisz je z użyciem INNER JOIN.

To ćwiczenie jest częścią kursu

Poprawa wydajności zapytań w SQL Server

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
Edytuj i uruchom kod