sql语句中别名怎么使用

这个sql中我给rownum起的别名叫rn,但是在执行时报错,说rn标识符无效selectrownumrn,a.*from(select*fromemporderbysa... 这个sql中我给rownum起的别名叫rn, 但是在执行时报错, 说rn标识符无效
select rownum rn,a.* from (select * from emp order by sal desc) a where rn<10
将where后面的rn改成rownum就能执行, 这是为什么?
展开
 我来答
百度网友ec91fa8
2014-03-07
知道答主
回答量:21
采纳率:0%
帮助的人:11.9万
展开全部
这里不能用rn

你的意思可能是

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

这样就可以用了,在where条件里面不能用本层查询的字段的别名。
Dab小飞
2018-01-17
知道答主
回答量:13
采纳率:100%
帮助的人:1.1万
展开全部
与sql语句的执行顺序有关
先执行的where 后执行的select ,所以在select中的别名 where 获取不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐徐道入王4
2014-03-07 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:78.5万
展开全部
列的别名 只是为了 显示是 看出来
表的别名 是操作用 的 你就这麼理解就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式