Heim >tägliche Programmierung >MySQL-Kenntnisse >Der Unterschied zwischen „any' und „all' in MySQL

Der Unterschied zwischen „any' und „all' in MySQL

下次还敢
下次还敢Original
2024-04-27 08:06:37677Durchsuche

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

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

  • Überprüft, ob eine von der Unterabfrage zurückgegebene any Zeile die Bedingung erfüllt.
  • Wenn die Unterabfrage mindestens eine Zeile zurückgibt, die die Bedingung erfüllt, gibt die Bedingung der Hauptabfrage „true“ zurück.

ALL

  • Überprüft, ob alle von der Unterabfrage zurückgegebenen Zeilen die Bedingung erfüllen.
  • Die Bedingung der Hauptabfrage gibt nur dann „true“ zurück, wenn
  • alle von der Unterabfrage zurückgegebenen Zeilen die Bedingung erfüllen.

Zum Beispiel

Angenommen, wir haben eine Schülerbewertungstabelle mit den folgenden Feldern:

    student_id: Schüler-ID
  • student_id:学生 ID
  • name:学生姓名
  • course_id:课程 ID
  • gradename: 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.

  • Zusammenfassung
  • ANY
  • Überprüfen Sie, ob eine eine beliebige Zeile der Unterabfrage die Bedingung erfüllt.
  • ALL
prüft, ob 🎜alle Zeilen🎜 der Unterabfrage die Bedingung erfüllen. 🎜🎜

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!

Stellungnahme:
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