Dans MySQL, ANY vérifie si une ligne renvoyée par la sous-requête satisfait à la condition, tandis que ALL vérifie si toutes les lignes renvoyées par la sous-requête satisfont à la condition. Par exemple, ANY recherche les étudiants qui ont au moins une note supérieure à 90, tandis que ALL recherche les étudiants qui n'ont que des notes supérieures à 90 dans tous les cours.
La différence entre ANY et ALL dans MySQL
Dans MySQL, ANY et ALL sont des mots-clés utilisés dans les requêtes agrégées pour vérifier si les valeurs renvoyées par la sous-requête répondent à des conditions spécifiques. La principale différence entre eux est la suivante :
ANY
ALL
Par exemple
Supposons que nous ayons un tableau de scores des étudiants avec les champs suivants :student_id
: identifiant d'étudiant student_id
:学生 IDname
:学生姓名course_id
:课程 IDgrade
name
: nom de l'étudiant course_id
: ID du cours
grade
: Note
Pour trouver tous les étudiants ayant des notes supérieures à 90, nous pouvons utiliser la requête suivante :
<code class="sql">SELECT name FROM students WHERE ANY (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
Cette requête renvoie les noms de tous les étudiants qui ont au moins une note supérieure à 90.
Pour trouver uniquement les étudiants ayant obtenu plus de 90 points dans tous leurs cours, nous pouvons utiliser la requête suivante : <code class="sql">SELECT name
FROM students
WHERE ALL (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!