Maxim Mironjuk
-
September 21, 2025
Ein FULL OUTER JOIN liefert alle Zeilen aus beiden beteiligten Tabellen, unabhängig davon, ob ein passendes Gegenstück auf der jeweils anderen Seite existiert, und füllt fehlende Werte mit NULL auf. Nicht jede Datenbank unterstützt diese Operation jedoch nativ: MySQL kannte bis vor kurzem keinen eigenen FULL-JOIN-Syntax, und auch in älteren Versionen anderer Systeme fehlt die Funktion teilweise vollständig. Dieser Artikel zeigt, wie sich ein FULL OUTER JOIN zuverlässig über eine Kombination aus LEFT JOIN, RIGHT JOIN und UNION nachbilden lässt, welche Alternative mit LEFT JOIN und NOT EXISTS in bestimmten Fällen vorzuziehen ist, und wo typische Korrektheits- und Performance-Fallen bei der Emulation lauern.