Heim >tägliche Programmierung >MySQL-Kenntnisse >Der Unterschied zwischen „any' und „all' in MySQL
In MySQL prüft ANY, ob eine von der Unterabfrage zurückgegebene Zeile die Bedingung erfüllt, während ALL prüft, ob alle von der Unterabfrage zurückgegebenen Zeilen die Bedingung erfüllen. Beispielsweise findet ANY Studierende, die mindestens eine Note über 90 haben, während ALL Studierende findet, die in allen Kursen nur Noten über 90 haben.
Der Unterschied zwischen ANY und ALL in MySQL
In MySQL sind ANY und ALL Schlüsselwörter, die in aggregierten Abfragen verwendet werden, um zu überprüfen, ob die von der Unterabfrage zurückgegebenen Werte bestimmte Bedingungen erfüllen. Der Hauptunterschied zwischen ihnen ist:
ANY
ALL
Zum Beispiel
Angenommen, wir haben eine Schülerbewertungstabelle mit den folgenden Feldern:student_id
: Schüler-ID student_id
:学生 IDname
:学生姓名course_id
:课程 IDgrade
name
: Schülername course_id
: Kurs-ID
note
: Note
Um alle Schüler mit Noten über 90 zu finden, können wir die folgende Abfrage verwenden:
<code class="sql">SELECT name FROM students WHERE ANY (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
Diese Abfrage gibt die Namen zurück aller Schüler, die mindestens eine Note über 90 haben.
Um nur die Schüler zu finden, die in allen Kursen mehr als 90 Punkte erreicht haben, können wir die folgende Abfrage verwenden: <code class="sql">SELECT name
FROM students
WHERE ALL (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
Diese Abfrage gibt nur die Namen der Schüler zurück, die in allen Kursen mehr als 90 Punkte erreicht haben.
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen „any' und „all' in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!