Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。从DUAL表选择数据常被用来通过select语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
select 1 from table; select anycol from table; -- (目的表集合中的任意一行) select * from table
上面这三条语句从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。
select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。
字典表(数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程,五个部分)
转载自:https://www.cnblogs.com/caiguangbi-53/p/9522299.html