请参阅WHERE子句中的列名别名

Har*_*man 1 sql postgresql alias

我在postgres sql中用列别名写下了这个查询它工作正常:

select email as e from users 
Run Code Online (Sandbox Code Playgroud)

它在e列别名下显示结果但是当我触发where条件时e它会显示此错误:

select email as e from users where e = 'jaskaransingh@demo.com'
Run Code Online (Sandbox Code Playgroud)

错误:列"e"不存在

为什么这样?我们如何在哪里使用别名?

pot*_*hin 9

where之前进行了评估select,因此您不能使用selectin where子句中声明的别名.

  • 这是正确的,但让我感到悲伤。这有充分的理由吗?能够在“where”子句中引用别名会非常有用。 (3认同)