MySQL FULL JOIN?
In MySQL wird der FULL JOIN-Vorgang nicht direkt unterstützt. Es ist jedoch möglich, mit einer Kombination aus LEFT JOIN und RIGHT JOIN ein ähnliches Ergebnis zu erzielen. So können Sie es machen:
SELECT t1.column1, t2.column2 FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.id = t2.id UNION ALL SELECT t1.column1, NULL FROM table1 AS t1 RIGHT JOIN table2 AS t2 ON t1.id = t2.id WHERE t2.id IS NULL
In dieser Abfrage ruft der LEFT JOIN alle Zeilen aus Tabelle1 ab und ordnet sie basierend auf der ID-Spalte den entsprechenden Zeilen aus Tabelle2 zu. Der RIGHT JOIN ruft alle Zeilen aus Tabelle2 ab und ordnet sie den entsprechenden Zeilen aus Tabelle1 zu. Der UNION ALL-Operator kombiniert die Ergebnisse beider Verknüpfungen.
Angenommen, wir haben zwei Tabellen, „Personen“ und „Bestellungen“, mit den folgenden Daten:
Persons | ||
---|---|---|
P_Id | LastName | FirstName |
1 | Hansen | Ola |
2 | Pettersen | Kari |
3 | Svenson | Tove |
Orders | |
---|---|
OrderNo | P_Id |
22456 | 1 |
24562 | 1 |
77895 | 2 |
44678 | 2 |
34764 | 3 |
An Erhalten Sie mit der obigen Abfrage das folgende Ergebnis:
LastName | FirstName | OrderNo |
---|---|---|
Hansen | Ola | 22456 |
Hansen | Ola | 24562 |
Pettersen | Kari | 77895 |
Pettersen | Kari | 44678 |
Svenson | Tove | 34764 |
Ersetzen Sie einfach Tabelle1 durch „Personen“ und Tabelle2 durch „Bestellungen“. die Abfrage und führen Sie sie aus.
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL einen FULL JOIN-Effekt erzielen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!