sql / intermediate
Snippet
Korrelierte Unterabfragen
Eine korrelierte Unterabfrage bezieht sich auf Spalten der äußeren Abfrage. Sie wird für jede von der äußeren Abfrage verarbeitete Zeile einmal ausgewertet, um zeilenspezifische Logik auszuführen.
snippet.sql
1
2
3
4
5
6
7
SELECT e1.nameFROM employees e1WHERE e1.salary > (SELECT AVG(e2.salary)FROM employees e2WHERE e2.department_id = e1.department_id);
Erklärung
1
WHERE e1.salary > (
Initiiert einen Vergleich zwischen einem Zeilenwert und dem Ergebnis der Unterabfrage.
2
WHERE e2.department_id = e1.department_id
Der Korrelationsschritt, der die Unterabfrage mit der Abteilung der aktuellen äußeren Zeile verknüpft.