Maison >base de données >tutoriel mysql >Pourquoi MySQL nécessite-t-il des alias pour les tables dérivées ?
Lorsque vous rencontrez l'erreur « Chaque table dérivée doit avoir son propre alias » dans MySQL, il est crucial d'approfondir le concept de tables dérivées. Ces tables, également appelées sous-requêtes, nécessitent un alias explicite pour faciliter le référencement dans la requête externe.
Prenons l'exemple de requête à l'origine de l'erreur :
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) );
Cette requête se compose de deux sous-requêtes imbriquées. Alors que la sous-requête la plus interne récupère les données de la table « TT2 », l'erreur survient car les deux sous-requêtes n'ont pas d'alias.
Pour rectifier cette erreur, chaque sous-requête La requête doit se voir attribuer un alias unique. La requête corrigée ressemblerait à :
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS T1 ) AS T2
Ici, les deux sous-requêtes se voient attribuer des alias (« T1 » et « T2 »), permettant à la requête externe de référencer leurs résultats respectifs.
Dans les cas où la sous-requête extrait simplement des données d'une table, la construction entière peut être simplifié.
SELECT ID FROM TT2
Cette requête rationalisée élimine la couche de sous-requête tout en obtenant le résultat souhaité.
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!