The table named DUAL is a small table in the data dictionary that Oracle and user-written programs can reference to guarantee a known result. This table has one column called DUMMY and one row containing the value X.
dual表是oracle哑元表 里边没有真实的数据 要查一些特定的值的时候,比如,select sysdate,但是sql又必须要有from,所以加的dual 没有实际意义 用法: select sysdate from dual; select '你好' from dual
dual是一个伪表,并无实际意义,通用用于协助Oracle的相关的维护管理工作 sys@ORCL> desc dual; Name Null? Type ----------------------------------------- -------- ---------------------------- DUMMY VARCHAR2(1)sys@ORCL> select * from dual;D - Xsys@ORCL> select sysdate from dual;SYSDATE --------- 24-JAN-11sys@ORCL> select 100+200 from dual; 100+200 ---------- 300
要查一些特定的值的时候,比如,select sysdate,但是sql又必须要有from,所以加的dual
没有实际意义
用法:
select sysdate from dual;
select '你好' from dual
dual是一个伪表,并无实际意义,通用用于协助Oracle的相关的维护管理工作
sys@ORCL> desc dual;
Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)sys@ORCL> select * from dual;D
-
Xsys@ORCL> select sysdate from dual;SYSDATE
---------
24-JAN-11sys@ORCL> select 100+200 from dual; 100+200
----------
300
2 dual的存在意义并非为了存储数据,而是作为from的原表(查询语句必须带个from);
3 oracle 10g之前对该表的修改会影响其作为虚表的查询结果,但是10g开始对其做修改,效果都和原始dual一样
参考:
Oracle Dual 表详解
http://blog.csdn.net/tianlesoftware/archive/2009/11/03/4764326.aspx