Maison >programmation quotidienne >connaissance de MySQL >La différence entre tout et tout dans MySQL

La différence entre tout et tout dans MySQL

下次还敢
下次还敢original
2024-04-27 08:06:37674parcourir

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 tout et tout dans MySQL

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

  • Vérifie si une une ligne renvoyée par la sous-requête satisfait à la condition.
  • Si la sous-requête renvoie au moins une ligne qui satisfait à la condition, la condition de la requête principale renvoie vrai.

ALL

  • Vérifiez si toutes les lignes renvoyées par la sous-requête satisfont à la condition.
  • La condition de la requête principale renvoie vrai uniquement lorsque
  • toutes les lignes renvoyées par la sous-requête satisfont à la condition.

Par exemple

Supposons que nous ayons un tableau de scores des étudiants avec les champs suivants :

    student_id : identifiant d'étudiant
  • student_id:学生 ID
  • name:学生姓名
  • course_id:课程 ID
  • gradename : 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.

  • Résumé
  • ANY
  • Vérifiez si une une ligne de la sous-requête satisfait à la condition.
  • ALL
vérifie si 🎜toutes les lignes🎜 de la sous-requête satisfont à la condition. 🎜🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie unique dans MySQLArticle suivant:Que signifie unique dans MySQL