Maison >base de données >tutoriel mysql >Pourquoi MySQL renvoie-t-il l'erreur « Chaque table dérivée doit avoir son propre alias » ?

Pourquoi MySQL renvoie-t-il l'erreur « Chaque table dérivée doit avoir son propre alias » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-21 00:40:10657parcourir

Why Does MySQL Throw the

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!

Déclaration:
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