Maison >programmation quotidienne >connaissance de MySQL >La différence entre tout et tout dans MySQL
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>
Cette requête ne renverra que les noms des étudiants ayant obtenu plus de 90 points dans tous leurs cours.
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!