ALL et ANY en SQL comparent les résultats de la sous-requête avec les résultats de la requête principale. ALL exige que la sous-requête renvoie true pour chaque ligne, tandis que ANY exige uniquement qu'elle renvoie true pour au moins une ligne. Par conséquent, la comparaison ALL est plus stricte et est généralement utilisée pour déterminer si toutes les conditions sont remplies, tandis que la comparaison ANY est plus souple et est utilisée pour déterminer si au moins une condition est remplie.
La différence entre ALL et ANY en SQL
Réponse simple :
ALL et ANY en SQL sont deux mots-clés différents utilisés pour comparer les résultats des sous-requêtes avec les résultats de la requête principale.
Réponse détaillée :
1. L'opérateur ALL
ALL vérifie si la sous-requête renvoie la vraie valeur pour chaque ligne de la requête principale. La comparaison ALL renvoie vrai si la sous-requête renvoie vrai pour toutes les lignes ; sinon, elle renvoie faux.
Exemple :
<code class="sql">SELECT * FROM customer WHERE ALL (SELECT 1 FROM purchase WHERE customer_id = customer.id);</code>
Cette requête renvoie tous les clients, dont chacun a effectué au moins un achat.
2. L'opérateur ANY
ANY vérifie si la sous-requête renvoie la vraie valeur pour n'importe quelle ligne de la requête principale. La comparaison ANY renvoie vrai si la sous-requête renvoie une valeur vraie pour au moins une ligne, sinon elle renvoie faux ;
Exemple :
<code class="sql">SELECT * FROM customer WHERE ANY (SELECT 1 FROM purchase WHERE customer_id = customer.id);</code>
Cette requête renvoie tous les clients, dont au moins un a effectué un achat.
Résumé :
Operator | Description |
---|---|
ALL | La sous-requête doit renvoyer vrai pour toutes les lignes |
ANY | Au moins une ligne renvoie vrai |
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!