Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL-Abfrageverbindung

PHPz
Freigeben: 2023-05-08 10:25:08
Original
4714 Leute haben es durchsucht

Einführung in die MySQL-Abfrageverbindung

Bei der Datenbankverwaltung ist die Abfrageverbindung ein sehr wichtiger Bestandteil. Unter „Join“ versteht man den Prozess des Zusammenführens von zwei oder mehr Tabellen basierend auf der Beziehung zwischen ihnen, um die Datenabfrage abzuschließen. In MySQL können wir Abfrageverbindungen mithilfe der JOIN-Anweisung implementieren. Dieser Artikel bietet eine ausführliche Einführung in die Verwendung von MySQL-Abfrageverbindungen.

Klassifizierung von MySQL-Abfrageverbindungen

MySQL-Abfrageverbindungen werden hauptsächlich in drei Kategorien unterteilt: Inner Joins, Outer Joins und Cross Joins.

  1. INNER JOIN

Inner Join bedeutet, dass zwischen Datensätzen in zwei oder mehr Tabellen eine entsprechende Beziehung besteht. Diese Beziehung kann durch Primärschlüssel und Fremdschlüssel dargestellt werden. Inner Joins geben Ergebnisse zurück, indem sie dieselben Datensätze beibehalten. Das heißt, Abfrageergebnisse werden nur zurückgegeben, wenn in beiden Tabellen übereinstimmende Datensätze vorhanden sind.

Die Syntax des inneren Joins lautet wie folgt:

SELECT col1, col2, ...
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column2;

Daunter col1, col2, ... zurückzugeben sind: Spalte table1 und table2 sind die abzufragenden Tabellen, Column1 und Column2 sind die Spalten, die die Tabellen verbinden.

  1. OUTER JOIN

Outer Joins werden in Left Joins und Right Joins unterteilt. Diese Art von Join bedeutet, dass bei der Verbindung von zwei oder mehr Tabellen alle Datensätze einbezogen werden, auch wenn eine der Tabellen nicht mit passenden Datensätzen verknüpft ist von einem anderen Tisch.

Left-Join: Left-Join bedeutet, dass die linke Tabelle alle Datensätze abruft, während die rechte Tabelle nur passende Datensätze abruft. Wenn zwischen der linken und der rechten Tabelle keine übereinstimmenden Datensätze vorhanden sind, gibt die rechte Tabelle einen NULL-Wert zurück.

Die Syntax des linken Joins lautet wie folgt:

SELECT col1, col2, ...
FROM table1
LEFT JOIN table2
ON table1.column1 = table2.column2;

Right Join: Right Join ähnelt dem Left Join , außer auf der linken Seite. Die Rollen der Tabelle und der Tabelle auf der rechten Seite sind vertauscht.

Die Syntax des rechten Joins lautet wie folgt:

SELECT col1, col2, ...
FROM table1
RIGHT JOIN table2
ON table1.column1 = table2.column2;

Hinweis: In MySQL gibt es auch ein FULL OUTER für äußere Verknüpfungen JOIN (vollständige äußere Verknüpfung), MySQL unterstützt dies jedoch nicht. Daher können wir über die UNION-Anweisung einen vollständigen Outer-Join simulieren.

  1. CROSS JOIN

Cross Join bezieht sich auf einen Join ohne Join-Bedingungen zwischen zwei oder mehr Tabellen. Einfach ausgedrückt ermöglichen Cross-Joins die Abfrage aller möglichen Kombinationen.

Die Syntax des Cross-Joins lautet wie folgt:

SELECT col1, col2, ...
FROM table1
CROSS JOIN table2;

Unter diesen sind col1, col2, ... die zurückzugebenden Spalten; table2 soll als Oberfläche abgefragt werden.

Anwendungsbeispiele für die MySQL-Abfrageverbindung

Lassen Sie uns nun die Verwendung der MySQL-Abfrageverbindung anhand einiger praktischer Beispiele verstehen.

Beispiel 1: Innerer Join

Angenommen, wir haben zwei Tabellen „Schüler“ und „Kurs“. Ihre Spalten und Inhalte lauten wie folgt:

Studententabelle:

ID Name Alter
1 Jack 18
2 Tom 19
3 Jerry 20
4 Bob 18

Kurstabelle:

3Wissenschaft24Geschichte3
Kurs-ID Kursname Studenten-ID
1 Mathe 1
2 Englisch 2
Da wir nun die von jedem Studenten ausgewählten Kurse abfragen möchten, können wir die folgende SQL-Anweisung verwenden:

SELECT student.name, course.course_name

FROM student
INNER JOIN course
ON student .id = course.student_id;

Diese Abfrage gibt die folgenden Ergebnisse zurück:

NameKursnameJackMathTomEnglisch TomWissenschaft JerryGeschichte
Beispiel 2: Left Join

Nehmen wir immer noch die obige Studententabelle und Kurstabelle als Beispiel, wenn wir die von jedem Studenten ausgewählten Kurse abfragen möchten, einschließlich derjenigen, die haben keinen Kursteilnehmer ausgewählt. Sie können die folgende SQL-Anweisung verwenden:

SELECT student.name, course.course_name

FROM student
LEFT JOIN course
ON student.id = course.student_id;

Die Abfrage gibt die folgenden Ergebnisse zurück:

NameKursnameJackMatheTomEnglischTomNaturwissenschaftenJerry GeschichteBobNULL
Beispiel 3: Right Join

Verwenden Sie weiterhin die obige Studententabelle und Kurstabelle als Beispiel, wenn wir die Studenten jedes Kurses abfragen möchten, einschließlich der Studenten, die den Kurs nicht ausgewählt haben. Sie können die folgende SQL-Anweisung verwenden:

SELECT student.name, course.course_name

FROM student
RIGHT JOIN course
ON student.id = course.student_id;

Die Abfrage gibt die folgenden Ergebnisse zurück:

erryGeschichteNULLGeographie

Beispiel 4: Querverbindung

Durch die Querverbindung können Sie alle möglichen Kombinationen abfragen. Wir haben beispielsweise eine Tabelle, die drei Elemente A, B und C enthält:

# 🎜 🎜#Tabelle1:

Name
idName#🎜 🎜 # 12#🎜 🎜 # 3CWir können die folgende SQL-Anweisung verwenden, um Cross-Joins durchzuführen: # 🎜🎜#SELECT t1.name, t2.name
A
B
FROM table1 t1

CROSS JOIN table1 t2;

Diese Abfrage gibt die folgenden Ergebnisse zurück: #🎜🎜 #

Name

NameA#🎜 🎜#A# ?? #B#🎜🎜 #BC#🎜 🎜## 🎜🎜#ABFazitDie MySQL-Abfrageverbindung ist ein wichtiger Teil der SQL-Sprache und kann uns dabei helfen, Daten abzufragen, die Beziehungen enthalten. In diesem Artikel stellen wir die Syntax und Anwendungsbeispiele der vier Arten von Joins vor: Inner Join, Left Join, Right Join und Cross Join. Ich hoffe, dieser Artikel hilft Ihnen bei der Verwendung der MySQL-Abfrageverbindung.
#🎜🎜 #A
A B
B
C
C
C#🎜 🎜##🎜🎜 #C

Das obige ist der detaillierte Inhalt vonMySQL-Abfrageverbindung. 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!