Maison > base de données > tutoriel mysql > EXISTS (SELECT * ) ou EXISTS (SELECT 1) : quelle syntaxe de sous-requête améliore la lisibilité ?

EXISTS (SELECT * ) ou EXISTS (SELECT 1) : quelle syntaxe de sous-requête améliore la lisibilité ?

Patricia Arquette
Libérer: 2024-12-29 01:04:18
original
783 Les gens l'ont consulté

EXISTS (SELECT * ) or EXISTS (SELECT 1): Which Subquery Syntax Improves Readability?

Quelle syntaxe de sous-requête EXISTS améliore la lisibilité ?

Lors de l'écriture de sous-requêtes à l'aide de l'opérateur EXISTS, la question de savoir quelle syntaxe est la plus facile à lire se pose. Bien que les performances ne soient pas affectées, le choix entre EXISTS (SELECT *) et EXISTS (SELECT 1) mérite d'être pris en considération.

La documentation de divers SGBDR suggère une préférence pour EXISTS (SELECT *). Cependant, certains utilisateurs trouvent EXISTS (SELECT 1) plus intuitif car il véhicule explicitement la notion de "si au moins un existe".

Un argument en faveur d'EXISTS (SELECT *) est sa concision. En omettant la valeur spécifique 1, cela souligne le fait que l'existence de n'importe quelle valeur dans la sous-requête est suffisante. Ce point de vue est étayé par le fait que la norme ANSI ne spécifie pas la sélection dans la sous-requête, laissant au moteur de base de données le soin de déterminer les valeurs à renvoyer.

D'un autre côté, les partisans de EXISTS (SELECT 1) soutiennent que cela évite une confusion potentielle. En indiquant explicitement la valeur 1, cela élimine toute ambiguïté quant à ce que la sous-requête vérifie. Cela s'aligne également sur les pratiques de codage courantes où la valeur 1 représente souvent « vrai » ou « présent ».

En fin de compte, le choix entre ces deux syntaxes est une question de préférence personnelle. Les deux sont également valables et offrent les mêmes fonctionnalités. Cependant, en comprenant l'opération de semi-jointure sous-jacente et les avantages potentiels d'une syntaxe concise, les développeurs peuvent prendre une décision éclairée quant à l'approche qui améliore la lisibilité dans leur contexte spécifique.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal