Sprechen Sie kurz über MySQL Left Join Inner Join

Sprechen Sie kurz über MySQL Left Join Inner Join

Vorwort

Ich war kürzlich damit beschäftigt, ein Kühlketten-Rückverfolgbarkeitssystem für Provinz X zu entwickeln. Ich arbeite jeden Tag bis 23 Uhr und komme dann nach Hause. Am Wochenende mache ich auch Überstunden. Ich habe nicht viel Zeit, einen Blog zu schreiben. Ich werde ihn schreiben, wenn ich etwas Freizeit habe.

Geschäft: SQL-Anweisungen zum Zählen der Daten im und aus dem Lager.

Frage: Es werden nur die X-End-Auftragseingänge gezählt.

Grund: Es wurde nicht erkannt, dass in der X-seitigen Datenbank nur die eingehende Bestellung Daten im Feld „a“ hatte, die ausgehende Bestellung jedoch nicht, und dass Feld „a“ für den inneren Join verwendet wurde, sodass für statistische Operationen nur die eingehende Bestellung gefunden werden konnte. Hinweis: Die Lagerein- und -ausgänge befinden sich in derselben Tabelle. Beim Erfassen statistischer Daten müssen einige Daten das Feld a verwenden, um mit anderen Tabellen verknüpft zu werden.

Lösung: Verwenden Sie den Left Join.

Ich habe mich immer gefragt, wann ich Left Join und Inner Join verwenden könnte, und dieses Mal habe ich meine Lektion gelernt.

Um mehr über die Unterschiede zwischen ihnen zu erfahren, lesen Sie den folgenden Artikel:

Unterschied zwischen Inner Join und Left Join

Hier ist eine kleine Kopie:

Ich dachte, ich hätte den Unterschied zwischen Inner Join und Left Join verstanden, aber als ich heute Parameter vom Front-End abgerufen habe, stellte ich fest, dass das Ergebnis nicht meinen Erwartungen entsprach, und dann wurde mir klar, dass das Problem beim Inner Join lag.

Die Anforderung besteht darin, Daten aus der Datenbank abzufragen und diese in Form eines Balkendiagramms auf dem Frontend anzuzeigen. Die gefundenen Daten werden nach Branchen gruppiert, wobei die Anzahl der Haushalte und der Anteil der Haushalte in jeder Branche angezeigt werden. Die beteiligten Felder sind die Anzahl der Benutzer und die Gesamtzahl der Benutzer in Tabelle A und der Branchenname in Tabelle B. Ursprünglich sollte der Branchenname auf der X-Achse angezeigt werden, unabhängig davon, ob die Daten gefunden werden können oder nicht. Allerdings werden weder auf der X- noch auf der Y-Achse Daten angezeigt. Das Problem war, dass ich die falsche Verbindungsmethode verwendet habe.

1. Der Unterschied zwischen Left Join, Right Join und Inner Join in SQL

Left Join gibt alle Datensätze in der linken Tabelle und Datensätze in der rechten Tabelle zurück, bei denen die Join-Felder gleich sind.

Der rechte Join gibt alle Datensätze in der rechten Tabelle und die Datensätze zurück, deren Join-Felder in der linken Tabelle gleich sind.

Inner Join (äquivalue Join) gibt nur die Zeilen zurück, bei denen die verknüpften Felder in den beiden Tabellen gleich sind.

Hier sind einige Beispiele:

In Tabelle A ist Folgendes vermerkt:

Hilfe Nummer
Nr. 1 a20050111
Nr. 2a0050112
Nr. 3a20050113
Nr. 4 a20050114
Nr. 5a20050115

In Tabelle B ist Folgendes vermerkt:

bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408

1.links beitreten

Die SQL-Anweisung lautet wie folgt:

wähle * aus A
links beitreten B
auf A.aID = B.bID

Hier sind die Ergebnisse:

aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL

(Die Anzahl der betroffenen Zeilen beträgt 5)

Ergebnisse:

Der Left Join basiert auf den Datensätzen der Tabelle A. A kann als linke Tabelle und B als rechte Tabelle betrachtet werden. Der Left Join basiert auf der linken Tabelle.

Mit anderen Worten werden alle Datensätze der linken Tabelle (A) angezeigt, während in der rechten Tabelle (B) nur die Datensätze angezeigt werden, die den Suchkriterien entsprechen (in diesem Beispiel: A.aID = B.bID).

Die Stellen, an denen Tabelle B nicht genügend Datensätze hat, sind alle NULL.

Zusammenfassen

Dies ist das Ende dieses Artikels über MySQL Left Join und Inner Join. Weitere Informationen zu MySQL Left Join und Inner Join finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • MySQL-Join-Abfrage (Left Join, Right Join, Inner Join)
  • MYSQL Left Join, Right Join und Inner Join – detaillierte Erklärung und Unterschiede
  • MySQL Left Join, Right Join und Inner Join
  • Detaillierte Erläuterung der MySQL-Inner-Join-, Left-Join- und Right-Join-Abfragen

<<:  HTML-Tabellen-Tag-Tutorial (45): Tabellen-Body-Tag

>>:  Linux-Schritte zum Konfigurieren der lokalen Yum-Quelle, der inländischen Yum-Quelle und der Epel-Quelle

Artikel empfehlen

So verwenden Sie display:olck/none zum Erstellen einer Menüleiste

Die Auswirkung der Vervollständigung einer Menüle...

Detaillierte Erklärung des Unterschieds zwischen tinyint und int in MySQL

Frage: Was ist der Unterschied zwischen int(1) un...

Lösung für großen Zeilenabstand (5 Pixel mehr im IE)

Code kopieren Der Code lautet wie folgt: li {Brei...

Zeichnen Sie ein Herz mit CSS3

Ergebnisse erzielenAnforderungen/Funktionalität: ...

Informationen zum CSS-Floating und zum Aufheben des Floatings

Definition von Float Setzt das Element aus dem no...

So verwenden Sie Maxwell zum Synchronisieren von MySQL-Daten in Echtzeit

Inhaltsverzeichnis Über Maxwell Konfiguration und...

Was sind die Vorteile einer semantischen HTML-Struktur?

eins: 1. Semantische Tags sind lediglich HTML, CS...

MYSQL Performance Analyzer EXPLAIN Anwendungsbeispielanalyse

Dieser Artikel veranschaulicht anhand eines Beisp...

W3C Tutorial (12): W3C Soap Aktivität

Bei Webdiensten geht es um die Kommunikation zwis...

Zusammenfassung der Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...