sql语句中别名怎么使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句中别名怎么使用相关的知识,希望对你有一定的参考价值。

这个sql中我给rownum起的别名叫rn, 但是在执行时报错, 说rn标识符无效
select rownum rn,a.* from (select * from emp order by sal desc) a where rn<10
将where后面的rn改成rownum就能执行, 这是为什么?

这里不能用rn

你的意思可能是

select a.* from (select t.*,rownum rn from emp t order by sal desc) a where rn<10

这样就可以用了,在where条件里面不能用本层查询的字段的别名。
参考技术A 与sql语句的执行顺序有关
先执行的where 后执行的select ,所以在select中的别名 where 获取不到
参考技术B 列的别名 只是为了 显示是 看出来
表的别名 是操作用 的 你就这麼理解就可以了本回答被提问者采纳

以上是关于sql语句中别名怎么使用的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句 别名为什么无效,怎么解决啊

SQL语句 别名为什么无效,怎么解决啊

为啥在SQL语句的GROUP BY里面不可以使用别名

sql 语句多层嵌套查询 使用别名 字段无效,如何解决(有图)

SQL:在 CASE 语句中使用的别名列名

【SQL语句】-MYSQL中关于引号的使用