select 'abc' as CloumnA from TestTable
这个TestTable表没有abc这个字段..
但为什么结果显示:
CloumnA 
abc
abc
abc
abc
这是为什么...?? 大家给讲讲... 
这么写'abc' as CloumnA  也有结果??
是为了组合字符串用吗....oracle的这个表dual是干什么用的啊

解决方案 »

  1.   

    'abc'是你自己指定的值,而不是from后面的表的字段,故会表中有多少行记录,就会显示多少行'abc'
    dual是个伪表.
      

  2.   

    dual虚拟的表。但必须是常量。如下:
    SQL> select abc from dual;select abc from dualORA-00904: "ABC": 标识符无效SQL> select 'abc' from dual;'ABC'
    -----
    abcSQL> select sysdate from dual;SYSDATE
    -----------
    2008-10-23
      

  3.   

    这种语句一般用在Insert into ... Select ....中;在Select中可以用常量
    比如在insert into t1(A1,A2,A3) select Name,0,0 from t2
      

  4.   

    dual 他是为了让oracle的sql看起来象标准的sql而存在的