MariaDB unterstützt eigentlich nicht den FULL OUTER JOIN direkt, aber du kannst dieses Verhalten ausführen, indem du einen LEFT JOIN mit einem RIGHT JOIN kombinierst. Es ermöglicht dir, alle Datensätze aus beiden Tabellen zu erhalten, unabhängig davon, ob es eine Übereinstimmung gibt oder nicht.
Angenommen, du hast zwei Tabellen, Tabelle1 und Tabelle2, und du möchtest einen FULL OUTER JOIN auf der Basis der Spalte ‘id’ durchführen, dann sieht die Syntax wie folgt aus:
```sql
SELECT *
FROM Tabelle1
LEFT JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id
UNION ALL
SELECT *
FROM Tabelle1
RIGHT JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id
WHERE Tabelle1.id IS NULL;
```
Die erste Hälfte der Abfrage vor UNION ALL gibt alle Datensätze aus Tabelle1 und übereinstimmende aus Tabelle2 zurück. Die zweite Hälfte der Abfrage nach UNION ALL gibt alle Datensätze zurück, die nur in Tabelle2 vorhanden sind.
Die Bedingung “WHERE Tabelle1.id IS NULL” wird verwendet, um Duplikate zu vermeiden, die durch das Kombinieren der ersten und zweiten Halbteile der Abfrage entstehen können. Das heißt, sie gibt die Datensätze zurück, die in Tabelle2 sind, aber nicht in Tabelle1.