Maison >base de données >tutoriel mysql >Pourquoi MySQL renvoie-t-il l'erreur « Chaque table dérivée doit avoir son propre alias » ?
Comprendre l'erreur « Chaque table dérivée doit avoir son propre alias » dans MySQL
Lors de l'exécution d'une requête impliquant des sous-requêtes imbriquées, MySQL génère parfois une erreur indiquant "Chaque table dérivée doit avoir son propre alias." Cette erreur vous alerte d'un problème avec la structure des sous-requêtes.
Pour corriger cette erreur, chaque sous-requête (ou table dérivée) doit avoir un alias unique. Cet alias sert d'identifiant, permettant à la requête externe de référencer les résultats de la sous-requête.
Par exemple, considérons la requête suivante :
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) );
Ici, l'erreur se produit car l'alias le plus interne la sous-requête (celle sélectionnant dans TT2) n'a pas d'alias. Pour le résoudre, attribuez un alias à cette sous-requête, comme indiqué ci-dessous :
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS T ) AS T
L'alias "T" permet désormais à la requête externe de faire référence aux résultats de la sous-requête la plus interne, éliminant ainsi efficacement l'erreur. .
Dans de nombreux cas, la requête peut être simplifiée en supprimant les sous-requêtes inutiles, comme dans cet exemple :
SELECT ID FROM TT2
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!