In MySQL können Sie die „Inner Join“-Anweisung verwenden, um Intra-Join-Abfragen für mehrere Tabellen durchzuführen. Sie müssen nur „select * from table inner joint table on table 1. field = table 2. field;“ verwenden. Stellungnahme. Kombinieren Sie Datensätze aus zwei Tabellen und geben Sie Datensätze mit passenden zugehörigen Feldern zurück.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Inner Join
Join oder Inner Join
SQL-Anweisung: Wählen Sie * aus dem Inner-Join-Score des Schülers für Student aus.Num=score.Stu_id;
Die Anweisung zu diesem Zeitpunkt entspricht: Wählen Sie * aus dem Schüler aus, bewerten Sie den Schüler . ID=course.ID;
Erweiterte Informationen:
Outer Join
1. Left Join Left Join oder Left Outer Join
SQL-Anweisung: Wählen Sie * aus student.Num=score.Stu_id ;
2. Right Join, Right Join oder Right Outer Join
SQL-Anweisung: Wählen Sie * aus student.Num=score.Stu_id;
3. Vollständiger Outer Join oder Full Outer Join Anweisung:Wählen Sie * aus dem vollständigen Join-Score des Studenten für student.Num=score.Stu_id;
Mit den oben genannten drei Methoden können verschiedene Tabellen zu einer großen Tabelle zusammengefügt werden, und nachfolgende Abfragevorgänge werden einfacher.
Für „select * from student,score;“ versuchen Sie, diese Anweisung nicht zu verwenden, da das Ergebnis zu umständlich wäre.
Cross-Join
Cross-Join, ein Cross-Join ohne eine Where-Klausel, die Abfragebedingungen angibt, erzeugt das kartesische Produkt der beiden Tabellen.
SQL-Anweisung: Wählen Sie * aus Student Cross Join Score;
Tabellenverbindung mit unterschiedlichen Strukturen
Wenn die beiden Tabellen eine Viele-zu-Viele-Beziehung haben, müssen wir eine Zwischentabelle student_score erstellen Zumindest die Primärschlüssel der beiden Tabellen.
SQL-Anweisung: Wählen Sie s.Name,C.Cname aus student_score als sc aus, links beitreten, Student als s auf s.Sno=sc.Sno, links beitreten, Punktzahl als c auf c.Cno=sc.Cno
select C_name,grade from student left join score on student.Num=score.Stu_id where name='李五一';
Der rote Teil ist Die Mitte Eine Tabelle ist eine allgemeine Tabelle, die den gesamten Inhalt von zwei Tabellen sammelt. Der
UNION-Operator wird verwendet, um die Ergebnismengen von zwei oder mehr Auswahlanweisungen zu kombinieren.
Die SELECT-Anweisungen innerhalb von UNION müssen die gleiche Anzahl von Spalten haben, jede Spalte muss auch ähnliche Datentypen haben und die Reihenfolge der Spalten in jeder SELECT-Anweisung muss gleich sein.
select Num from student union select Stu_id from score;
Der Union-Operator wird standardmäßig auf Duplikate überprüft. Wenn doppelte Werte zulässig sind, kann Union All verwendet werden. Bei zwei Tabellen mit derselben Struktur kann Union sie auch in einer Tabelle zusammenführen:
select * from student1 union select *from student2;
Unterabfrage
Manchmal, wenn die für die Abfrage erforderliche Bedingung das Ergebnis einer anderen SELECT-Anweisung ist, wird eine Unterabfrage verwendet. 1. Unterabfrage mit Schlüsselwort IN Die äußere Abfrage wird abgefragt, andernfalls wird die äußere Abfrage nicht abgefragt.
SQL-Anweisung: select * from student where exist(select * from score where C_name='computer');
3. Unterabfrage mit ANY-Schlüsselwort
Verwenden Sie das ANY-Schlüsselwort, solange eines erfüllt ist, wird die Bedingung erfüllt um die äußere Abfrage auszuführen.
SQL-Anweisung: Wählen Sie sname,(date_format(from_days(now())-to_days(birthday)),'%Y')+0) als 'Alter' vom Schüler aus, wobei Geburtstag>ANY(Geburtstag vom Schüler auswählen, wobei bumen= 'Department of Computer Science');
4. Unterabfrage mit dem Schlüsselwort ALL
Die Verwendung des Schlüsselworts ALL muss alle von allen inneren Abfrageanweisungen zurückgegebenen Ergebnisse erfüllen, bevor die äußere Abfrage ausgeführt wird.
SQL-Anweisung: select sname,(date_format (from_days( now())-to_days(birthday)),'%Y')+0) as 'age' from student where birthday>ALL(select birthday from student where bumen='Informatikabteilung');
Verwandtes Lernen Empfohlen:
MySQL-Tutorial(Video)
Das obige ist der detaillierte Inhalt vonWelche Anweisungen werden in Multi-Table-Join-Abfragen verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!