Welche Arten von MySQL-Verbindungsabfragen kennen Sie?

Welche Arten von MySQL-Verbindungsabfragen kennen Sie?

Vorwort

Wenn die Abfrageinformationen aus mehreren Tabellen stammen, müssen diese Tabellen für die Abfrage verknüpft werden. Join ist die gängigste Methode, um Datensätze aus verschiedenen Tabellen zu verbinden. Durch Join-Abfragen können mehrere Tabellen als eine Tabelle verarbeitet werden. Join-Abfragen werden in Inner Joins und Outer Joins unterteilt.

1. Querverbindungen herstellen

Ein Cross Join, auch „Kartesischer Join“ oder „Kreuzprodukt“ genannt, ist die Grundlage aller Arten von inneren Joins.

Beispiel: Zur Implementierung der Routentabelle und der Fahrzeugtabelle lauten die Anweisungen wie folgt:

`select * from line CROSS JOIN vehicle ist gleichbedeutend mit: select * from line, vehicle

Zweitens innerer Join

Der Inner Join ist eine in Anwendungen sehr häufig verwendete Verbindungsoperation und im Allgemeinen der Standardverbindungstyp.

Die Syntax lautet wie folgt:

SELECT Feldliste FROM Tabelle1 【INNER】JOIN Tabelle2 ON 
Tabelle1.Spalte1=Tabelle2.Spalte2 【Wo-Bedingung】

3. Natürliche Verbindung

Ein natürlicher Join ist ein spezieller innerer Join, der erfordert, dass die Basisspalten der beiden verbundenen Tabellen dieselben Felder sein müssen (mit denselben Feldnamen und denselben Feldattributen).
Die Syntax lautet wie folgt:

wähle Feldliste aus Tabelle1 NATURAL JOIN Tabelle2 【Where-Bedingung】

4. Abfrage zum Verbinden mehrerer Tabellen

Wenn die abzufragenden Informationen aus mehreren Tabellen stammen, kann eine Multi-Table-Join-Abfrage durch die Verbindung zweier Tabellen in umgekehrter Reihenfolge erstellt werden.

Die Abfragesyntax für die Verknüpfung dreier Tabellen lautet wie folgt:

SELECT Feldliste FROM Tabelle1 JOIN Tabelle2 ON 
tabke1.column1=table.column2_1 JOIN table3 auf
 Tabelle2.Spalte2_2 = Tabelle.Spalte3 【Wo-Bedingung】

Wenn man in der FROM-Klausel direkt alle zu verbindenden Tabellen auflistet und in der WHERE-Klausel dann die Verbindungsbedingungen angibt, handelt es sich um eine einfache Multi-Table-Abfrage, welche die gleiche Funktion wie ein Inner Join hat.

Die Abfragesyntax zum Verbinden zweier Tabellen lautet wie folgt:

SELECT Feldliste FROM Tabelle1, Tabelle2
HIER table1.column1=table2.column2 [und weitere Bedingungen]

Fünf, äußere Verbindung

Bei einer Inner-Join-Abfrage werden in den Abfrageergebnissen nur Datensätze angezeigt, die die Join-Bedingungen erfüllen. Wenn jedoch bei der tatsächlichen Verwendung auch Datensätze in den Abfrageergebnissen erscheinen, die die Verbindungsbedingungen nicht erfüllen, ist eine äußere Verknüpfungsabfrage erforderlich. Äußere Verknüpfungen werden in linke und rechte äußere Verknüpfungen unterteilt.

Die Syntax lautet wie folgt:

`SELECT Feldname FROM Tabellenname 1 LEFT|RIGHT|FULL [OUTER] JOIN Tabellenname 2 ON Tabellenname 1. Feldname 1 = Tabellenname 2. Feldname 2`

1. Linker äußerer Join

Der Ergebnissatz des äußeren Joins umfasst alle Datensätze in der linken Tabelle und die Datensätze in der rechten Tabelle, die die Join-Bedingungen erfüllen. Die Spaltenwerte aus der Tabelle, die die Join-Bedingungen im Ergebnissatz nicht erfüllen, sind nullo.

2. Rechter äußerer Join

Ein rechter äußerer Join ist das Gegenteil eines linken äußeren Join. Der Ergebnissatz eines rechten äußeren Joins umfasst alle Datensätze der rechten Tabelle und die Datensätze der linken Tabelle, die die Join-Bedingung erfüllen. Die Spaltenwerte aus der linken Tabelle, die die Join-Bedingung nicht erfüllen, sind nullo.

Betrieb:

Notieren Sie sich von allen Fahrzeugen ohne Klimaanlage das Kennzeichen, das Modell und den Namen des Fahrers, die Routennummer der Route, zu der sie gehören, sowie Informationen zum Start- und zum Endbahnhof.

WÄHLEN
	v.plateNO Kennzeichennummer,
	v.Modell Modell,
	d. NAME Name des Fahrers,
	l.lineNo Zeilennummer,
	l.from_station Startstation,
	l.end_station Endstation VON
	Linie l,
	Fahrzeug v,
	Treiber
WO
	v.type = 'Auto ohne Klimaanlage'
UND l.Zeilen-ID = v.Zeilen-ID
UND d.TreiberID = v.TreiberID;

Holen Sie sich alle Fahrerinformationen von Busunternehmen 2. Erfordert die Ausgabe von Name, Personalausweis, Geschlecht und Telefonnummer des Fahrers;

WÄHLEN
	NAME Name des Fahrers,
	LizenzKEIN Personalausweis,
	d.Geschlecht,
	Telefon VON
	Fahrzeug v,
	Fahrer d,
	Linie l
WO
	v.TreiberID = d.TreiberID
UND v.lineID = l.lineID
UND Unternehmen = 'Busunternehmen 2'
GRUPPELN NACH 

Überprüfen Sie bei allen nicht klimatisierten Fahrzeugen das Kennzeichen, das Modell, die Liniennummer sowie den Start- und Zielbahnhof.

WÄHLEN
v.plateNO Kennzeichennummer,
	v.Modell Modell,
	l.lineNo Zeilennummer,
	l.from_station Startstation,
	l.end_station Endstation VON
	Linie l,
	Fahrzeug v
WO
	v.type = 'Auto ohne Klimaanlage'
UND l.lineID = v.lineID;

Anzeige der Basisinformationen aller Routen und der ihnen zugewiesenen Fahrzeuge sowie Abfrage der relevanten Informationen der den Fahrzeugen zugewiesenen Fahrer. Ausgabe von Name, Geschlecht, Telefonnummer, Kennzeichen, Modell, Routennummer sowie Start- und Zielbahnhof des Fahrers erforderlich.

	WÄHLEN
	d.NAME Name des Fahrers,
	LizenzKEIN Personalausweis,
	d.Geschlecht,
	Telefon,
	v.plateNO Kennzeichennummer,
	v.Modell Modell,
	l.lineNo Zeilennummer,
	l.from_station Startstation,
	l.end_station Endstation VON
	Fahrzeug v,
	Fahrer d,
	Linie l
WO
	v.TreiberID = d.TreiberID
UND v.lineID = l.lineID
GROUP BY Treibername;

6. Holen Sie sich die Bestelldetails der Bestell-ID 4 und geben Sie den Produktnamen, den Stückpreis und die Menge aus.

WÄHLEN
	c.cName Kundenname,
	o.ordersDate Bestelldatum,
	g.goodsName Produktname,
	g.unitPrice Stückpreis,
	od.quantität Stückzahl AB
	Bestelldetails od,
	waren g,
	Bestellungen o,
	Kunde C
WO
	c.cName = "Wang Chuanhua"
UND c.customerID = o.customerID
UND o.ordersID = od.ordersID
UND od.WarenID = g.WarenID;

Rufen Sie die Bestelldetails des Kunden „Wang Chuanhua“ ab. Dabei müssen der Kundenname, die Bestellnummer, das Bestelldatum, der Produktname, der Stückpreis und die Stückzahl angezeigt werden.

WÄHLEN
	c.cName Kundenname,
	o.ordersDate Bestelldatum,
	g.goodsName Produktname,
	g.unitPrice Stückpreis,
	od.quantität Stückzahl AB
	Bestelldetails od,
	waren g,
	Bestellungen o,
	Kunde C
WO
	c.cName = "Wang Chuanhua"
UND c.customerID = o.customerID
UND o.ordersID = od.ordersID
UND od.WarenID = g.WarenID;

Über den linken Link können Sie die Stammdaten und Bestelldaten aller Kunden abrufen, hierfür sind Kundenname, Telefonnummer, Bestell-ID und Bestellzeit anzugeben.

WÄHLEN
	c.cName Kundenname,
	c.Telefon,
	o.ordersID Bestellnummer,
	o.ordersDate Bestellzeit VON
	 Kunde C
LEFT JOIN-Bestellungen o auf c.customerID=o.customerID;

8. Über den richtigen Link können Sie die Basisinformationen und Bestelldaten aller Kunden abrufen. Dabei sind der Kundenname, die Telefonnummer, die Bestell-ID und die Bestellzeit anzugeben.

WÄHLEN
	c.cName Kundenname,
	c.Telefon,
	o.ordersID Bestellnummer,
	o.ordersDate Bestellzeit VON
	Bestellungen
richtig JOIN Kunde c auf c.customerID=o.customerID;

Zusammenfassen

Dies ist das Ende dieses Artikels über die MySQL-Verbindungsabfrage. Weitere relevante Inhalte zur MySQL-Verbindungsabfrage finden Sie in den vorherigen Artikeln auf 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:
  • Probleme mit Join-Abfragen und Unterabfragen in MySQL
  • Detaillierte Erläuterung der MySQL-Multitabellen-Joinabfrage
  • Prinzip und Anwendung der MySQL-Verbindungsabfrage
  • MySQL-Join-Abfragesyntax und Beispiele
  • Detaillierte Erläuterung der Prinzipien und Anwendungsbeispiele von MySQL-Joinabfragen, Union-Abfragen und Unterabfragen
  • Detaillierte Erläuterung des Mysql Self-Join-Abfragebeispiels
  • Erläuterung des MySQL-Multitabellen-Join-Abfragebeispiels
  • Detaillierte Erläuterung der MySQL-Verbindungsabfrage

<<:  Detaillierte Erklärung des Vue-Lebenszyklus

>>:  Detaillierte Erklärung der grundlegenden Verwendung des Linux-Debuggers GDB

Artikel empfehlen

Auszeichnungssprache - Phrasenelemente

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

10 sehr gute CSS-Fähigkeiten sammeln und teilen

Hier können Sie durch geschickten Einsatz von CSS-...

Tomcat-Konfiguration und wie man ihn in Eclipse startet

Inhaltsverzeichnis So installieren und konfigurie...

Vue setzt die Daten auf ihren ursprünglichen Zustand zurück

In einigen Fällen müssen die Daten in den Daten w...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

Linux-Grep-Befehl Mit dem Linux-Befehl grep könne...

Was tun, wenn der Auto-Increment-Primärschlüssel in MySQL aufgebraucht ist?

Im Vorstellungsgespräch sollten Sie folgende Szen...

Implementieren eines Einkaufswagens mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...

Tutorial zur mobilen Entwicklung: Zusammenfassung der Pixelanzeigeprobleme

Vorwort Ich bin davon überzeugt, dass bei der Ent...

So ändern Sie die Zeitzone und die Uhrzeit im Ubuntu-System

Auf einem Linux-Computer gibt es zwei Zeitzonen: ...

...