您的位置:首页 > 数据库 > Oracle

关于在oracle 中 引用列的别名无法识别的原因分析

2013-11-12 11:27 246 查看
示例:
SQL> SELECT name N FROM Stu WHERE N<>a;
此时会报错,无法识别N。

首先要知道,在Oracle中,查询(select) 语句的执行顺序是下面这样的:
1. from语句
2. where语句(结合条件)
3. start with语句
4. connect by语句
5. where语句
6. group by语句
7. having语句
8. model语句
9. select语句
10. union、minus、intersect
11. order by
SELECT 语句在WHERE语句后面才执行,而列的别名是在SELECT 时才生成的,所以出错了
根据实际情况可以写成 select N from (SELECT name FROM Stu)where N<>a;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: