Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2880424
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类: Oracle

2012-01-17 16:27:22


在集合操作中,ORDER BY 中的列,一定要在SELECT列表中选出,而且还不能采用用SELECT *的方法,否则会报ORA-00904错误。

SQL> select * from t1;
        ID NAME
---------- --------------------
         1 c
         2
已选择2行。

SQL> select * from t2;
        ID NAME
---------- --------------------
         1 a
         2 a
         3 r
         4 e
        10
已选择5行。
SQL> select * from t1
  2  union
  3  select * from t2
  4  order by id desc;
order by id desc
         *
第 4 行出现错误:
ORA-00904: "ID": invalid identifier
即使SELECT *包含了ID列,ORDER BY 也会报错。
SQL> select id,name from t1
  2  union
  3  select * from t2
  4  order by id desc;
        ID NAME
---------- --------------------
        10
         4 e
         3 r
         2 a
         2
         1 a
         1 c
已选择7行。
 
SQL> select name from t1
  2  union
  3  select name from t2
  4  order by id desc;
order by id desc
         *
第 4 行出现错误:
ORA-00904: "ID": invalid identifier

SQL> select name from t1
  2  union
  3  select name from t2
  4  order by name desc;
NAME
--------------------
r
e
c
a
已选择5行。
SQL> select * from v$version;
BANNER
------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
PL/SQL Release 10.2.0.2.0 - Production
CORE    10.2.0.2.0      Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.2.0 - Productio
NLSRTL Version 10.2.0.2.0 - Production
已选择5行。
 
阅读(3670) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~