Je me souviens avoir appris à le faire dans un cours SGBD pour les étudiants en Master of Information Services. Pour vous éviter de taper, vous pouvez taper:
SELECT t1.id, t2.stuff
FROM
someTable t1
INNER JOIN otherTable t2
ON t1.id=t2.id
;
Mais ... Pourquoi est-ce acceptable dans les procédures stockées et autres? Il semble que tout ce qu'il fait est de nuire à la lisibilité de la déclaration tout en économisant un temps extrêmement mineur. Y a-t-il une raison fonctionnelle ou logique de le faire? Il semble ajouter de l'ambiguïté plutôt que la supprimer; la seule raison acceptable que je peux voir pour utiliser ce format est que vous ajoutiez un alias sémantiquement significatif - par exemple, FROM someTable idsTable
- lorsque le nom de la table n'est pas suffisamment descriptif.
L'alias de table est-il une mauvaise pratique ou s'agit-il simplement d'une mauvaise utilisation d'un système utile?
select id, stuff from someTable natural join otherTable
?Réponses:
Le repliement de table est une pratique courante et utile.
L'extrait de rapport suivant illustre bien tous les points ci-dessus:
la source
Je pense que l'utilisation d'alias aide à la lisibilité d'une requête si les noms de table sont longs ou si similaires les uns aux autres que quelqu'un qui les lit rapidement peut les confondre. Pensez-vous que cela ...
est plus lisible que cela?
Selon ce que vous utilisez comme alias de table, cela peut rendre la requête beaucoup plus simple à lire et à comprendre.
la source
L'aliasing de table (pour des noms de table plus courts) n'est pas une mauvaise pratique.
Je l'utilise normalement lorsque les noms de table sont longs et n'utilise que l'alias qui a du sens:
Si vous souhaitez améliorer la lisibilité, vous pouvez utiliser le
AS
mot - clé:Mais, comme vous vous habituez à la syntaxe, ce n'est pas nécessaire.
la source
Vous pouvez l'utiliser pour augmenter considérablement la lisibilité de vos requêtes. Plutôt que d'utiliser un alias court, utilisez votre alias pour décrire les données auxquelles vous vous joignez, par exemple
Bien que l'utilisation d'alias extrêmement courts (comme
a
out1
) puisse rendre une requête difficile à lire car vous devez aller chercher l'alias pour rechercher ce que l'alias signifie, un alias bien nommé peut souvent rendre une requête plus lisible que d'utiliser simplement la table des noms.la source
Il s'agit d'une question de "mauvaise pratique". Les réponses semblent concerner la «sauvegarde des frappes».
Personnellement, ma vitesse de codage est limitée par ma vitesse de pensée, pas par ma vitesse de frappe. Je trouve que le code avec beaucoup d'alias de table est beaucoup plus difficile à lire que le code qui utilise les noms de table eux-mêmes. Les alias de table ajoutent un autre niveau d'indirection.
Cependant, la plupart des programmeurs utilisent des alias de table (mais pas moi). Certains "environnements de développement SQL" rendent cela très facile à faire, et certains enseignants enseignent automatiquement les alias de table, en particulier dans le cadre de l'apprentissage de la syntaxe "Join".
L'utilisation d'alias de table n'est pas une mauvaise pratique, mais parfois je dois parcourir le code et remplacer les alias par les noms de table d'origine afin de comprendre ce qui se passe.
la source