Maison > base de données > tutoriel mysql > Pourquoi MySQL nécessite-t-il des alias pour toutes les tables dérivées ?

Pourquoi MySQL nécessite-t-il des alias pour toutes les tables dérivées ?

Mary-Kate Olsen
Libérer: 2024-12-15 09:46:11
original
809 Les gens l'ont consulté

Why Does MySQL Require Aliases for All Derived Tables?

Comprendre l'erreur : "Chaque table dérivée doit avoir son propre alias"

Lors de l'exécution d'une requête MySQL impliquant des tables dérivées imbriquées (sous- requêtes), une erreur peut se produire indiquant "Chaque table dérivée doit avoir son propre alias." Cette erreur est déclenchée lorsque les sous-requêtes ne reçoivent pas d'alias uniques.

Cause et solution :

Une table dérivée est créée en mettant une sous-requête entre parenthèses. Pour chaque table dérivée, MySQL nécessite l'inclusion d'un alias, qui est un nom utilisé pour faire référence à la table et à ses données. Le but de l'alias est de faire la distinction entre plusieurs tables dérivées au sein de la requête externe.

Pour résoudre cette erreur, attribuez un alias à chaque sous-requête à l'aide du mot-clé AS suivi d'un nom unique :

SELECT ID FROM (
    SELECT ID, msisdn FROM (
        SELECT * FROM TT2
    ) AS TT2Subquery
) AS TableAlias
Copier après la connexion

Dans cette requête modifiée, l'alias TT2Subquery est attribué à la sous-requête la plus interne et TableAlias ​​est affecté à la sous-requête externe. Ces alias permettent à MySQL de différencier les deux sous-requêtes et de les connecter de manière appropriée.

Alternativement, puisque la sous-requête la plus externe ne récupère qu'une seule colonne, elle peut être entièrement omise :

SELECT ID FROM TT2
Copier après la connexion

Cette requête simplifiée élimine le besoin d'alias de sous-requête tout en conservant le même résultat.

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