LoslegenKostenlos loslegen

Unterabfrage vs. INNER JOIN

Oft lassen sich die Ergebnisse einer korrelierten Unterabfrage mit einem INNER JOIN nachbilden. Je nach Anforderung kann ein INNER JOIN effizienter sein, da er die Daten nur einmal durchläuft, während die korrelierte Unterabfrage für jede Zeile der äußeren Abfrage ausgeführt werden muss.

Du möchtest für jedes Land der Welt die Bevölkerungszahl 2017 der größten Stadt ermitteln. Diese Informationen findest du in der Datenbank Earthquakes, mit der Tabelle Nations als äußere Abfrage und der Tabelle Cities in der Unterabfrage.

Zuerst erstellst du die Abfrage als korrelierte Unterabfrage und schreibst sie anschließend mit einem INNER JOIN um.

Diese Übung ist Teil des Kurses

Verbesserung der Abfrageleistung in SQL Server

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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
Code bearbeiten und ausführen