Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL-Abfragetabelle

WBOY
Freigeben: 2023-05-08 09:35:07
Original
2470 Leute haben es durchsucht

In den meisten Fällen verfügt die Datenbank über mehr als eine Tabelle. In einem Datenbanksystem ist es häufig erforderlich, Daten aus mehreren Tabellen abzufragen, was als SQL-Join-Abfrage bezeichnet wird. In MySQL ist eine JOIN-Klausel erforderlich, um verwandte Abfragen zu implementieren. In diesem Artikel besprechen wir, wie man Daten aus verwandten Tabellen in MySQL mithilfe der JOIN-Klausel abfragt.

  1. Was ist eine verwandte Abfrage?

Im Allgemeinen enthält eine Tabelle in einer Datenbank viele Daten. Der Hauptzweck einer Join-Abfrage besteht darin, Daten aus mehreren Tabellen zu extrahieren und die Daten aus diesen Tabellen zu kombinieren, um eine vollständige Ansicht mit den erforderlichen Informationen zu generieren.

Betrachten wir zum Beispiel ein einfaches E-Commerce-System mit zwei Tabellen, eine ist die Kundentabelle und die andere ist die Bestelltabelle. Die Kundentabelle enthält die persönlichen Daten des Kunden und die Bestelltabelle enthält die Bestelldetails wie Bestellnummer, Bestelldatum, Kundennummer usw. Um die Bestellinformationen eines Kunden abzufragen, müssen Sie diese beiden Tabellen verknüpfen.

  1. Was ist eine JOIN-Klausel?

JOIN ist eine SQL-Klausel, die zum Zusammenführen von Daten aus mehreren Tabellen verwendet wird. Es kann Daten in zwei oder mehr Tabellen miteinander abgleichen, um gemeinsame Abfragen zu implementieren.

Die JOIN-Klausel vergleicht Spalten in zwei oder mehr Tabellen, um die Beziehung zwischen Daten zu bestimmen. Es gibt verschiedene Arten von JOIN-Klauseln. Die gebräuchlichsten sind INNER JOIN, LEFT JOIN und RIGHT JOIN.

  1. INNER JOIN

INNER JOIN ist die grundlegendste Form der JOIN-Klausel. Es werden nur Datensätze aus beiden Tabellen zurückgegeben, die miteinander übereinstimmen. Die grundlegende Syntax der INNER JOIN-Klausel lautet wie folgt:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Nach dem Login kopieren

wobei Spaltenname den Namen der abzurufenden Spalte angibt, Tabelle1 und Tabelle2 die Namen der zu verbindenden Tabellen sind, Spaltenname der Spaltenname in den beiden Tabellen ist, miteinander vergleichen.

Hier ist ein Beispiel für die Abfrage zweier Tabellen mit INNER JOIN:

SELECT customers.customer_name, orders.order_date
FROM customers
INNER JOIN orders
ON customers.customer_id = orders.customer_id;
Nach dem Login kopieren

Diese Abfrage gibt den Namen und das Bestelldatum des Kunden zurück, aber nur dann Daten, wenn in den Tabellen „Kunden“ und „Bestellungen“ dieselbe Kunden-ID vorhanden ist.

  1. LEFT JOIN

LEFT JOIN fügt alle Datensätze in der linken Tabelle basierend auf INNER JOIN hinzu. Wenn in der rechten Tabelle keine entsprechende Übereinstimmung vorhanden ist, wird NULL zurückgegeben. Die grundlegende Syntax der LEFT JOIN-Klausel lautet wie folgt:

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
Nach dem Login kopieren

Hier ist ein Beispiel für die Abfrage zweier Tabellen mit LEFT JOIN:

SELECT customers.customer_name, orders.order_date
FROM customers
LEFT JOIN orders
ON customers.customer_id = orders.customer_id;
Nach dem Login kopieren

Diese Abfrage gibt die Namen aller Kunden und deren Bestelldaten zurück, einschließlich der Kunden, die keine Bestellungen haben . Wenn für einen Kunden kein Bestelldatensatz vorhanden ist, wird in der Spalte „Bestelldatum“ NULL angezeigt.

  1. RIGHT JOIN

RIGHT JOIN ist LEFT JOIN sehr ähnlich, gibt jedoch alle Datensätze in der rechten Tabelle anstelle aller Datensätze in der linken Tabelle zurück. Wenn in der linken Tabelle keine entsprechende Übereinstimmung vorhanden ist, wird NULL zurückgegeben. Die grundlegende Syntax der RIGHT JOIN-Klausel lautet wie folgt:

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
Nach dem Login kopieren

Hier ist ein Beispiel für die Abfrage zweier Tabellen mit RIGHT JOIN:

SELECT customers.customer_name, orders.order_date
FROM customers
RIGHT JOIN orders
ON customers.customer_id = orders.customer_id;
Nach dem Login kopieren

Diese Abfrage gibt alle Bestellungen und die Namen der Kunden zurück, zu denen sie gehören, einschließlich Bestellungen mit der Nr Kundendatensätze. Wenn für eine Bestellung kein Kundendatensatz vorhanden ist, wird in der Spalte „Kundenname“ NULL angezeigt.

  1. Zusammenfassung

In MySQL kann uns die JOIN-Klausel dabei helfen, die erforderlichen Daten in mehreren Tabellen abzufragen. Durch korrelierte Abfragen erhalten wir einen umfassenderen Überblick über die Daten und können die Daten in der Datenbank besser verstehen. Es gibt verschiedene Arten von JOIN-Klauseln, darunter INNER JOIN, LEFT JOIN und RIGHT JOIN. Die Auswahl des geeigneten JOIN-Typs ist sehr wichtig, da wir so Daten effizienter abfragen und die Datenbankleistung verbessern können.

Das obige ist der detaillierte Inhalt vonMySQL-Abfragetabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!