Beim Entwickeln von Anwendungen, die eine Datenbank verwenden, müssen Sie zwangsläufig eine Union-Abfrage verwenden. Zu den üblichen Union-Abfragen in SQL gehören Inner Join, Outer Join und Cross Join. Vielen Leuten, auch mir, sind die Unterschiede zwischen diesen dreien vielleicht nicht ganz klar. Sehen wir sie uns einmal an. Wenn Sie Join verwenden, um Tabellen zu verbinden, ist der fehlerhafte Fall Inner Join. Darüber hinaus gehören Left Join und Right Join, die bei der Entwicklung verwendet werden, zu Outer Join, und Outer Join umfasst auch Full Join. Lassen Sie mich Ihnen anhand von Bildern den Unterschied zwischen ihnen erklären. Es gibt zwei Tabellen, Tabelle A ist die Tabelle auf der linken Seite. Tabelle B ist die Tabelle auf der rechten Seite. Jeder von ihnen hat vier Datensätze, von denen zwei den gleichen Namen haben: 1. Das Ergebnis von INNER JOIN ist der Schnittpunkt von AB SELECT * FROM TabelleA INNER JOIN TabelleB ON TabelleA.name = TabelleB.name 2. LEFT[OUTER] JOIN erzeugt einen vollständigen Satz der Tabelle A, und wenn keine Übereinstimmung vorliegt, werden die übereinstimmenden Werte in Tabelle B durch Nullwerte ersetzt. SELECT * FROM TabelleA LEFT OUTER JOIN TabelleB ON TabelleA.name = TabelleB.name 3.RIGHT [OUTER] JOIN erzeugt den vollständigen Satz der Tabelle B, und die übereinstimmenden Werte in Tabelle A werden durch Nullwerte ersetzt, wenn keine Übereinstimmung vorliegt. Wählen Sie * aus TabelleA RECHTS OUTER JOIN TabelleB auf TabelleA.name = TabelleB.name Das Diagramm ähnelt dem Left Join. 4. FULL [OUTER] JOIN stellt die Vereinigung von A und B her. Für Datensätze, die nicht übereinstimmen, wird Null als Wert verwendet. SELECT * FROM TabelleA FULL OUTER JOIN TabelleB ON TabelleA.name = TabelleB.name Dass kein passender Wert vorliegt, können Sie mit is NULL feststellen: SELECT * FROM TabelleA FULL OUTER JOIN TabelleB ON TabelleA.name = TabelleB.name WO TableA.id null IST ODER TableB.id null IST 5. CROSS JOIN führt eine N*M-Kombination der Daten in Tabelle A und Tabelle B durch, d. h. das kartesische Produkt. Dieses Beispiel generiert beispielsweise 4*4=16 Datensätze. Während des Entwicklungsprozesses müssen wir die Daten filtern, daher wird diese Methode selten verwendet. SELECT * FROM TabelleA CROSS JOIN TabelleB Durch den obigen Vergleich glaube ich, dass jeder ein klares Verständnis des Unterschieds zwischen Inner Join, Outer Join und Cross Join hat. Auffüllen Warum ist Mitmachen die beste Wahl? Denn wenn zum Verbinden der Tabellen „“, „“ verwendet wird, generieren die Tabellen A und B direkt das kartesische Produkt und verwenden dann „where“, um die Ergebnisse zu filtern. Beim Zusammenführen werden jedoch die Tabellen A und B verbunden. Die Ergebnisse werden zunächst nach den Bedingungen nach „on“ und dann nach den Bedingungen nach „where“ gefiltert. Laut SQL-Standard ist CROSS JOIN ein kartesisches Produkt. Aber für MySQL ist CROSS JOIN gleichbedeutend mit INNER JOIN. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: So installieren Sie den MySQL 5.7.28-Binärmodus unter CentOS 7.4
>>: Praktische Methode zum Upgrade von PHP auf 5.6 unter Linux
So zentrieren Sie ein Element im Browserfenster H...
Inhaltsverzeichnis Funktion Grundlegende Abfragef...
Projektdokumentationsverzeichnis Div+CSS-Benennung...
Für einzelne Webmaster war es schon immer das Ziel...
1. Wenn das mobile Endgerät die Listenverschiebun...
Dieser Artikel beschreibt anhand eines Beispiels ...
Vorwort Seit der offiziellen Einführung von vue3....
1. Einführung in Linux .NET Core Microsoft hat .N...
Der Grund dafür ist, dass alle Dateien in UTF8 kod...
Inhaltsverzeichnis linux 1. Was ist SWAP 2. Was p...
Als Backend-Programmierer haben Sie an vielen Ste...
Ankerpunkt festlegen <a name="nach oben&qu...
Vorbereiten 1. Laden Sie das erforderliche Instal...
Die Ausführungsreihenfolge der SQL-Abfrageanweisu...
1. Die Verwendung von Docker Compose ist der Verw...