In den letzten zwei Tagen habe ich den Themenschwerpunkt geändert und allen die Prinzipien von Pyecharts und etwas Grafikerstellung beigebracht. Heute kehren wir zur Reihe „MySQL lernen“ zurück und lernen mit Ihnen weiterhin MySQL-Datenbanken. Die Abfrage mehrerer Tabellen ist ein Wissenspunkt, den Datenanalysten in ihrer täglichen Arbeit definitiv verwenden werden, was zeigt, wie wichtig er ist. Der heutige Artikel fasst mehrere Situationen von MySQL-Mehrtabellenabfragen umfassend zusammen. Kennen Sie die 92- und 99-Syntax von MySQL? Kennen Sie Equijoin und Non-Equijoin? Denken Sie nicht, dass Sie bestimmte Wissenspunkte nicht kennen müssen, nur weil sie selten verwendet werden. Tatsächlich ist das nicht der Fall. Spätestens nachdem andere darüber geschrieben haben, sollten Sie wissen, was sie bedeuten. 1. Kartesisches ProduktphänomenDie Ergebnisse sind wie folgt: Die Analyse sieht wie folgt aus: Nach dem Hinzufügen der Tabellenverknüpfungsbedingung: Es ist ersichtlich, dass die Anzahl der Datensätze, die schließlich durch das kartesische Produkt generiert werden, das Produkt der Daten in den beiden Tabellen ist. Wenn keine Join-Abfrage verwendet wird und die Daten in den beiden Tabellen besonders groß sind, explodiert Ihr Speicher, was schrecklich ist. Daher müssen wir lernen, Join-Abfragen zu verwenden. 2. Zusammenfassung der Wissenspunkte zur Verbindungsabfrage1) Was ist eine Join-Abfrage?In der tatsächlichen Entwicklung werden Daten in den meisten Fällen nicht aus einer einzelnen Tabelle abgefragt, sondern normalerweise werden mehrere Tabellen zusammen abgefragt, um das Endergebnis zu erhalten. Mit anderen Worten: Im tatsächlichen Geschäft besteht ein Unternehmen auch aus mehreren Tabellen, und unterschiedliche Informationen werden in unterschiedlichen Tabellen gespeichert. Wenn die Informationen, die wir erhalten möchten, aus mehreren Tabellen stammen, müssen Sie eine Join-Abfrage verwenden. 2) Klassifizierung von Verbindungsanfragen① Klassifizierung nach Epoche MySQL unterstützt keine vollständigen Verknüpfungen und das Schlüsselwort Union wird im Allgemeinen verwendet, um die vollständige Verknüpfungsfunktion zu vervollständigen. Der Cross Join in MySQL ist ein Cross Join, der selten verwendet wird und um den wir uns nicht kümmern müssen. sq192-Standard: nur innere Verknüpfungen werden unterstützt; sq199-Standard [empfohlen]: nur innere Verknüpfungen + äußere Verknüpfungen (nur linke äußere und rechte äußere) + Kreuzverknüpfungen werden unterstützt; ② Innere Verknüpfungen nach Funktion klassifiziert: Equijoin, Non-Equijoin, Self-Join; äußere Verknüpfungen: linke äußere Verknüpfung, rechte äußere Verknüpfung, vollständige äußere Verknüpfung; 3. Erklärung der inneren VerbindungDie Originaldaten lauten wie folgt: 1) Gleichwertige Verbindung: Das wichtigste Merkmal ist, dass die Verbindungsbedingung eine gleichberechtigte Beziehung ist.Übung: Abfrage des Mitarbeiternamens und des entsprechenden Abteilungsnamens; Die SQL92-Syntax lautet wie folgt: (Sie ist zu alt und wird im Allgemeinen nicht verwendet. Sie müssen nur wissen, was sie bedeutet, wenn Sie sie sehen.) sql99-Syntax: (häufig verwendet) 2) Der Unterschied zwischen der SQL92-Syntax und der SQL99-Syntax.- SQL92-Syntax: wähle Ename, Dname von emp,dept wobei emp.deptno=dept.deptno; - SQL99-Syntax: wähle Ename, Dname von emp (inner) join dept ein emp.deptno=dept.deptno; -- Der Unterschied zwischen der Syntax von SQL92 und der Syntax von SQL99 1) Komma (",") wird durch (innerer) Join ersetzt; 2) Ersetzen Sie „wo“ durch „auf“; Hinweis: „inner“ kann weggelassen werden. Das Schreiben von „inner“ kann die Lesbarkeit des Codes verbessern. --Der Vorteil der SQL99-Syntax liegt darin, dass die Tabellenanbindung und die anschließende Where-Bedingungsprüfung getrennt erfolgen. Bei der SQL92-Syntax wird „where“ für den Tabellenverknüpfungspunkt und „where“ auch für die Where-Filterung verwendet, was durcheinander und unklar ist. 3) Nicht gleichwertige Verbindung: Das größte Merkmal ist, dass die Verbindungsbedingung eine nicht gleichwertige Beziehung ist.Übung: Ermitteln Sie die Gehaltsstufe jedes Mitarbeiters und zeigen Sie den Namen des Mitarbeiters, das Gehalt und die Gehaltsstufe an. 4) Selbstverknüpfung: Die größte Funktion besteht darin, dass eine Tabelle als zwei Tabellen betrachtet wird.Was bedeutet es, eine Tabelle als zwei Tabellen zu behandeln? Mit anderen Worten ist ein Self-Join ein Join zwischen denselben Tabellen und die Join-Bedingungen sind unterschiedliche Felder in dieser Tabelle. Der größte Unterschied zwischen Menschen und Maschinen besteht darin, dass Menschen die Fähigkeit haben, zu urteilen. Sie wissen, wie man verschiedene Felder einer Tabelle unterscheidet und verwendet, aber Maschinen wissen das nicht. Es handelt sich alles um dieselbe Tabelle und die Feldnamen sind alle gleich. Wie kann die Maschine also unterscheiden, welche Tabelle welche ist (für dieselbe Tabelle)? Hierzu ist ein Alias erforderlich. Für dieselbe Tabelle gebe ich ihr zwei Namen, einen A und einen B, damit die Maschine sie leicht unterscheiden kann. Wenn Sie ein Feld aus Tabelle A nehmen, ist es das „A-Feld“, und wenn Sie ein Feld aus Tabelle B nehmen, ist es das „B-Feld“. Aufgabe: Ermitteln Sie den Vorgesetzten jedes Mitarbeiters und zeigen Sie den Namen des Mitarbeiters und den dazugehörigen Namen des Vorgesetzten an. 4. Erläuterung der externen VerbindungDie Originaldaten lauten wie folgt: 1) Was ist ein Outer Join und worin besteht der Unterschied zu einem Inner Join?① Innerer Join Angenommen, die Tabellen A und B sind verbunden und es wird ein innerer Join verwendet. In diesem Fall werden alle Datensätze abgefragt, die mit den Tabellen A und B übereinstimmen. Dies ist ein innerer Join. Eine Unterscheidung zwischen der Haupttabelle und der Nebentabelle AB erfolgt nicht, die beiden Tabellen sind gleichwertig. ② Äußerer Anschluss Angenommen, die Tabellen A und B sind über einen äußeren Join verbunden, wobei eine der beiden Tabellen AB die Primärtabelle und die andere die Sekundärtabelle ist. Die Daten der Primärtabelle werden hauptsächlich abgefragt, die Sekundärtabelle wird nebenbei abgefragt. Wenn die Daten in der Sekundärtabelle nicht mit den Daten in der Primärtabelle übereinstimmen, simuliert die Sekundärtabelle automatisch NULL, um eine Übereinstimmung herzustellen. Die wichtigste Eigenschaft des Outer Join besteht darin, dass alle Daten der Haupttabelle bedingungslos abgefragt werden können. 2) Klassifizierung von äußeren VerknüpfungenEs gibt eine Möglichkeit, einen Left Join als Right Join zu schreiben, und es gibt eine entsprechende Möglichkeit, einen Right Join als Left Join zu schreiben. Daher ist es beim Erlernen von MySQL nicht erforderlich, sowohl linke als auch rechte Verknüpfungen zu lernen. Linker äußerer Join (Left Join): Gibt an, dass die Tabelle auf der linken Seite die Haupttabelle ist. Rechter äußerer Join (Right Join): Gibt an, dass die Tabelle auf der rechten Seite die Haupttabelle ist. 3) Fallanalyse Übung: Finden Sie heraus, in welcher Abteilung keine Mitarbeiter beschäftigt sind? Oben finden Sie den detaillierten Inhalt der ausführlichen Tutorials zu den Syntaxbeispielen für die MySQL-Reihe von Multi-Table-Join-Abfragen 92 und 99. Weitere Informationen zur MySQL-Abfragesyntax finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: JS verwendet Clip-Pfad, um eine dynamische Bereichs-Clipping-Funktion zu implementieren
Inhaltsverzeichnis 1. Gewöhnliche Funktionen 2. P...
Der ps-Befehl in Linux ist die Abkürzung für „Pro...
In diesem Artikel werden die einzelnen Schritte z...
1. Öffnen Sie Port 2375 Bearbeiten Sie docker.ser...
Inhaltsverzeichnis Vorwort 1. Endpunkt 2. Verbind...
Panther begann als Anfänger und ich bin immer noc...
Warum lautet der Titel des Artikels „Imitierte Lu...
Inhaltsverzeichnis Erster Blick-Index Das Konzept...
Die Haupttextseite von TW hatte früher eine Breite...
Mittlerweile werden die meisten Projekte auf Dock...
Wie unten dargestellt: Wählen Sie den Namen aus m...
Der ElasticSearch-Cluster unterstützt動態請求的方式und靜態...
Inhaltsverzeichnis Vorwort 1. Fehlerprotokoll 2. ...
Heute hat ein Student im dritten Studienjahr eine...
MySQL unterstützt verschachtelte Transaktionen, a...