1. Übersicht über Inner Join-AbfragenDer Inner Join ist eine in Anwendungen sehr häufig verwendete Verbindungsoperation und im Allgemeinen der Standardverbindungstyp. Der Inner Join basiert auf einem Join-Prädikat, das die Spalten zweier Tabellen (z. B. A und B) kombiniert, um eine neue Ergebnistabelle zu erstellen. Die Inner-Join-Abfrage vergleicht jede Zeile der Tabelle A mit jeder Zeile der Tabelle B und findet die Kombination, die das Join-Prädikat erfüllt. Wenn das Join-Prädikat erfüllt ist, werden die übereinstimmenden Zeilen in A und B spaltenweise (nebeneinander) zu einer einzigen Zeile im Ergebnissatz kombiniert. Die Inner-Join-Abfrageoperation listet die Datenzeilen auf, die den Join-Bedingungen entsprechen, und verwendet Vergleichsoperatoren, um die Spaltenwerte der verbundenen Spalten zu vergleichen. Es gibt drei Typen von inneren Verknüpfungen: Kreuzverknüpfung, gleiche Verknüpfung und natürliche Verknüpfung. 2. Cross Join (Kartesisches Produkt)Cross Join, auch als „Kartesischer Join“ oder „Produkt“ bekannt, ist die Grundlage aller Arten von inneren Joins. Wenn die Tabelle als eine Sammlung von Zeilendatensätzen betrachtet wird, gibt der Cross Join das kartesische Produkt der beiden Sammlungen zurück und die Anzahl der im Ergebnissatz zurückgegebenen Datenzeilen entspricht der Anzahl der Datenzeilen in der ersten Tabelle, die die Abfragebedingungen erfüllen, multipliziert mit der Anzahl der Datenzeilen in der zweiten Tabelle, die die Abfragebedingungen erfüllen. Dies ist tatsächlich gleichbedeutend damit, dass die innere Join-Bedingung „immer wahr“ ist oder dass die Join-Bedingung nicht existiert. Wenn A und B zwei Mengen sind, wird ihr Cross Join wie folgt geschrieben: A x B. Definieren Sie einen Cross Join (kartesisches Produkt) der Routentabelle und der Fahrzeugtabelle. Beispiel: Implementieren Sie das kartesische Produkt der Routentabelle und der Fahrzeugtabelle ANZAHL AUSWÄHLEN(*) FROM-Zeile CROSS JOIN Fahrzeug 3. Inner Join-Syntax und BeispieleGrammatik: SELECT Feldliste VON Tabelle1 [INNER] JOIN Tabelle2 ON Tabelle1.Spalte1=Tabelle2.Spalte2 [WHERE-Bedingung] Beispiel 1: Verwenden Sie Inner Join, um Fahrzeuginformationen und Fahrerinformationen abzurufen, deren Fahrzeugmodell „DD“ enthält. Die Fahrzeuginformationen müssen alle Spalten umfassen, und die Fahrerinformationen müssen nur den Namen und den Personalausweis enthalten. SELECT v.*,d.name,d.lizenzNr VON Fahrzeug v JOIN Fahrer d EIN v.TreiberID=d.TreiberID WO Modell LIKE '%DD%' Beispiel 2: Verwenden Sie Inner Join, um die Informationen von Fahrern über 35 Jahren und die vom Fahrer gefahrenen Fahrzeuginformationen abzurufen. Die Fahrzeuginformationen müssen alle Spalten umfassen, und die Fahrerinformationen enthalten nur den Namen, das Geburtsdatum und die Telefonnummer. SELECT v.*,d.name,d.lizenzNr,d.telefon FROM Fahrzeug v INNER JOIN Fahrer d EIN v.TreiberID=d.TreiberID WO CEIL(DATEDIFF(JETZT(),Geburtstag)/365)>35 4. Natürliche VerbindungenEin natürlicher Join ist ein spezieller innerer Join, der erfordert, dass die Verbindungsbasisspalten der beiden zu verbindenden Tabellen dieselben Felder sein müssen (die Felder sind gleich und die Feldattribute sind gleich). Bei einem natürlichen Join werden alle Spalten mit demselben Namen in den beiden Tabellen verglichen und die doppelten Spalten aus dem Ergebnissatz entfernt. Die Spalten mit demselben Namen in den beiden Tabellen erscheinen nur einmal im Ergebnissatz. Gewöhnliche innere Verknüpfungen entfernen keine doppelten Spalten. (Einige Datenbanken unterstützen keine natürlichen Verbindungen, wie z. B. der saL-Server.) Die Syntax für einen natürlichen Join lautet wie folgt: SELECT Feldliste VON Tabelle1 NATURAL JOIN Tabelle2 [WHERE-Bedingung] Beispiel: Verwenden Sie Natural Join, um Fahrzeuginformationen und Fahrerinformationen abzurufen, deren Fahrzeugmodell „DD“ enthält. Die Fahrzeuginformationen müssen alle Spalten umfassen, und die Fahrerinformationen müssen nur den Namen und den Personalausweis enthalten. SELECT v.*,d.name,d.lizenzNr FROM Fahrzeug v NATURAL JOIN Fahrer d WO Modell LIKE '%DD%' 5. Abfrage zum Verbinden mehrerer TabellenWenn die abgefragten Informationen aus mehreren Tabellen stammen, kann durch die Verbindung zweier Tabellen eine Multi-Table-Join-Abfrage erstellt werden. Nachfolgend sehen Sie die Syntax für eine Join-Abfrage für drei Tabellen: SELECT Feldliste VON Tabelle1 JOIN Tabelle2 ON Tabelle1.Spalte1=Tabelle2.Spalte2_1 JOIN Tabelle3 ON Tabelle2.Spalte2_2=Tabelle3.Spalte3 [WHERE-Bedingung] veranschaulichen: (1) table2 ist mit table1 und table3 verbunden. (2) Das Verfahren zum Verbinden von mehr als drei Tabellen ist das gleiche wie das zum Verbinden von drei Tabellen, welches durch die Verbindung zweier Tabellen miteinander realisiert wird. Beispiel 1: Erhalten Sie Kennzeichen, Modell und Fahrernamen aller nicht klimatisierten Fahrzeuge, die Route der Route, den Startbahnhof und die Endbahnhofinformationen Wählen Sie d.name, v.plateNo, v.model, l.lineNo, l.from_station, l.end_station VON Fahrzeug v JOIN Fahrer d EIN v.TreiberID=d.TreiberID JOIN Zeile l EIN v.lineID=l.lineID WHERE Typ = 'Auto ohne Klimaanlage' Beispiel 2: Holen Sie sich alle Fahrerinformationen von Busunternehmen 2. Es ist die Ausgabe von Name, Personalausweis, Geschlecht und Telefonnummer des Fahrers erforderlich. Wählen Sie d.Name, d.Lizenznummer, d.Geschlecht, d.Telefon VON Fahrzeug v JOIN Fahrer d EIN v.TreiberID JOIN Zeile l EIN v.lineID=l.lineID WHERE Unternehmen = 'Busunternehmen 2' 6. Einfache Multi-Table-Join-AbfrageWenn Sie in der FROM-Klausel direkt alle zu verknüpfenden Tabellen auflisten und anschließend in der WHERE-Klausel die Verknüpfungsbedingungen angeben, handelt es sich um eine einfache Mehrtabellenabfrage, die dieselbe Funktion wie ein Inner Join hat. Die Abfragesyntax zum Verbinden zweier Tabellen lautet wie folgt: SELECT Feldliste VON Tabelle1,Tabelle2 WO Tabelle1.Spalte1=Tabelle2.Spalte2 [UND andere Bedingungen] Das Abfragesyntaxformat bei Verwendung der Verknüpfung dreier Tabellen lautet wie folgt: SELECT Feldliste VON Tabelle1,Tabelle2,Tabelle3 WO Tabelle1.Spalte1=Tabelle2.Spalte2_1 UND Tabelle2.Spalte2_2=Tabelle3.Spalte3 [UND andere Bedingungen] Beispiel: Erhalten Sie Kennzeichen, Modell und Fahrernamen aller nicht klimatisierten Fahrzeuge, die Route der Route, den Startbahnhof und die Endbahnhofinformationen Wählen Sie d.name, v.plateNo, v.model, l.lineNo, l.from_station, l.end_station VON Fahrzeug v, Fahrer d, Linie l WO v.Treiber-ID=d.Treiber-ID UND v.lineID=l.lineID UND Typ='Klimatisiertes Auto' ZusammenfassenDies ist das Ende dieses Artikels über MySQL-Verbindungsabfragen. Weitere relevante Inhalte zu MySQL-Verbindungsabfragen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Ein Artikel, der Ihnen hilft, jQuery-Animationen zu verstehen
>>: Textmodus im IE! Einführung in die Rolle von DOCTYPE
Herunterladen Download-Adresse: https://dev.mysql...
Inhaltsverzeichnis Vorwort: 1. Verstehen Sie Lock...
Inhaltsverzeichnis Vorwort Was sind dynamische Ei...
Der Fortschrittsbalken ist nicht gleichmäßig Ich ...
Installieren Sie JDK: Offizieller Oracle-Download...
Aufgrund von Unternehmensanforderungen müssen zwe...
Seit der Aktivierung des https-Zugriffs für die g...
Inhaltsverzeichnis Vorwort Die Rolle von Dekonstr...
Um Jenkins auf CentOS 8 zu installieren, müssen S...
GitHub bietet alle möglichen magischen Tools. Heu...
Der Befehl „show processlist“ ist sehr nützlich. ...
Inhaltsverzeichnis Lösungsanalyse Scheibe Lebensl...
Lassen Sie uns zunächst verstehen, was Docker ist...
Wenn Sie den Stil „table-layer:fixed“ für eine Ta...
Inhaltsverzeichnis 1. Kartesisches Produktphänome...