Maison > base de données > tutoriel mysql > Pourquoi ne puis-je pas utiliser d'alias dans la clause WHERE d'une requête PostgreSQL ?

Pourquoi ne puis-je pas utiliser d'alias dans la clause WHERE d'une requête PostgreSQL ?

Linda Hamilton
Libérer: 2024-12-27 12:45:11
original
899 Les gens l'ont consulté

Why Can't I Use Aliases in the WHERE Clause of a PostgreSQL Query?

Référencement d'alias dans la clause WHERE : une exploration

Dans PostgreSQL (psql), il n'est pas directement possible de référencer des alias dans la clause WHERE en raison à l'ordre d'exécution. La clause WHERE est exécutée avant que les alias ne soient appliqués, ce qui entraîne l'erreur "la colonne "_year" n'existe pas."

Cela se produit car la clause WHERE opère sur les noms de colonnes d'origine et l'alias n'est appliqué que plus tard. , lors de la génération de l'ensemble de résultats. Par conséquent, l'alias n'est pas reconnu lorsque la clause WHERE est exécutée.

Pour résoudre ce problème, la requête doit être réécrite pour utiliser le nom de colonne d'origine directement dans la clause WHERE. Par exemple, considérons la requête :

SELECT
    SUBSTRING(pk, 6, 2)::INT AS _year
FROM
    listing
WHERE
    _year > 90;
Copier après la connexion

Cette requête échouera avec l'erreur "la colonne "_year" n'existe pas." Pour résoudre ce problème, l'alias doit être remplacé par le nom de colonne d'origine dans la clause WHERE :

SELECT
    SUBSTRING(pk, 6, 2)::INT AS _year
FROM
    listing
WHERE
    SUBSTRING(pk, 6, 2)::INT > 90;
Copier après la connexion

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