1. Grundkenntnisse der MySQL-Unterabfrage
Eine Unterabfrage besteht darin, eine neue Abfrage in die ursprüngliche Abfrageanweisung einzubetten, um die gewünschte Ergebnismenge zu erhalten.
Unterabfragen sind im Allgemeinen unterteilt in: Wo ist die Typ-Unterabfrage, von der Typ-Unterabfrage und existiert die Typ-Unterabfrage.
1. Unterabfrage vom Typ where
: Verwenden Sie das innere Abfrageergebnis als Vergleichsbedingung der äußeren Abfrage.
select 列1,列2,...,列n from 表名 where 列i =/in (select 列1,列2,...,列n from 表名 where ...);
2. Unterabfrage vom Typ from
: Behandeln Sie die inneren Abfrageergebnisse als temporäre Tabelle für die erneute Abfrage durch die äußere SQL. Die Abfrageergebnismenge kann als Tabelle behandelt werden. Temporäre Tabellen müssen einen Alias verwenden.
select 列1,列2,...,列n from (select 列1,列2,...,列n from 表名 where ...) as 表别名 where ....;
3. exists
Unterabfrage: Die Ergebnisse der äußeren SQL zum Testen übertragen. Wenn die innere SQL wahr ist, wird die Zeile herausgenommen. Die innere Abfrage ist die Abfrage nach exist.
select 列1,列2,...,列n from 表名 where exists (select 列1,列2,...,列n from 表名 where ...);
2. Abfragebeispiel
Das Bild unten zeigt die Notentabelle und die Klassentabellendaten.
1. Fragen Sie die Informationen des Schülers mit der höchsten Mathematikpunktzahl in der Punktetabelle ab;
2. Fragen Sie jeden Schüler in der Notentabelle nach der höchsten Gesamtnote der Klasse ab.
3 Suchen Sie anhand der Notentabelle und der Klassentabelle die Klasse mit fehlenden Noten in der Note Tabelle;
Empfohlenes Tutorial: „SQL-Tutorial“
Das obige ist der detaillierte Inhalt vonUnterabfragen werden im Allgemeinen in verschiedene Typen unterteilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!