Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie emuliere ich einen FULL JOIN in MySQL?

DDD
Freigeben: 2024-11-15 21:15:03
Original
801 Leute haben es durchsucht

How to Emulate a FULL JOIN in MySQL?

Verstehen der Einschränkungen von MySQLs FULL JOIN

Im Gegensatz zu einigen anderen relationalen Datenbanken gibt es in MySQL keine direkte Unterstützung für den FULL JOIN-Vorgang . Dies bedeutet, dass das Erreichen des in der Frage genannten gewünschten Ergebnisses einen anderen Ansatz erfordert.

Emulieren eines FULL JOIN in MySQL

Um einen FULL JOIN in MySQL zu emulieren, wird empfohlen Die Problemumgehung umfasst eine Kombination aus LEFT JOIN und RIGHT JOIN. So geht's:

SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
LEFT JOIN
  t_17
ON
  t_13.value = t_17.value
UNION ALL
SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
RIGHT JOIN
  t_17
ON
  t_13.value = t_17.value
WHERE
  t_13.value IS NULL
ORDER BY
  COALESCE(val13, val17)
LIMIT 30;
Nach dem Login kopieren

Diese Abfrage erzeugt effektiv das kartesische Produkt der beiden Tabellen (t_13 und t_17) und filtert dann die Zeilen heraus, in denen beide Werte NULL sind. Das Ergebnis ist eine Tabelle, die alle Zeilen beider Tabellen enthält, auch diejenigen ohne übereinstimmende Werte in der anderen Tabelle, wodurch sichergestellt wird, dass alle möglichen Kombinationen dargestellt werden.

Das obige ist der detaillierte Inhalt vonWie emuliere ich einen FULL JOIN in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage