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
Vorwort Das Tag <router-link> ist ein großa...
Inhaltsverzeichnis Vorwort 1.v-show 2.v-wenn 3. D...
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund Für die virtuelle VirtualBox-Maschine...
Datensortierung aufsteigend, absteigend 1. Sortie...
Vorwort Manchmal habe ich das Gefühl, dass die na...
Inhaltsverzeichnis 1. Das Konzept des Filters 1. ...
MySQL-Benutzer und -Berechtigungen In MySQL gibt ...
Siehe: https://www.jb51.net/article/112612.htm Üb...
Inhaltsverzeichnis 1 Testfälle 2 JS-Array-Dedupli...
In diesem Artikel wird der spezifische Code von J...
Inhaltsverzeichnis 1. Was ist ein Auslöser? 2. Er...
(I) Grundkonzepte der Farbabstimmung auf Webseiten...
1. Lackübersicht 1. Einführung in Varnish Varnish...
1. Ein-Klick-Installation des Mysql-Skripts [root...