====== Correlated Sub-Selects ======
Beispiel: Zeige den Namen, das Gehalt und die Abteilungsnummer jener Personen an, die in ihrer Abteilung am wenigsten verdienen.
Das Problem hierbei ist aber, dass auch Datensätze ausgewählt werden, die in ihrer Abteilung nicht das Mindestgehalt darstellen (Gehalt wird mit irgendeinem Mindestgehalt verglichen)
Wir lösen das Problem, dass das Sub-Select das Gehalt jener Abteilung liefert, die mit der Abteilungsnummer des untersuchten Datensatzes übereinstimmt. Abteilungsnummer von Haupt- und Subselect müssen übereinstimmen (correlieren).
Die Lösung sieht wie folgt aus:
SELECT Name, Gehalt, Abteilungsnummer
FROM Mitarbeiter m
WHERE Gehalt = (SELECT min(sal)
FROM Mitarbeiter
WHERE Abteilungsnummer = m.Abteilungsnummer)
Achtung! Das Subselect wird für jede untersuchte Zeile des Hauptselects neu aufgerufen und ausgewertet!