在Mysql和SQL Server中可以直接:
select 1 不需要加from 表名就可以执行
而在Oracle中要满足select from 的结构:
select 1不能实现满足上述结构,引入dual来满足结构。
Oracle这样表示:select 1 from dual
注:上述的数据库中都存在dual表,只是mysql中的dual表没有值select * from dual 这种语句会报错,而在Oracle中会返回一行记录(dual表有一条默认值),二者都可以用dual来满足语法结构。
但是在以下情况下需要加上dual:
select * from m_pool_wblist;
表结构
用户希望在插入数据库表以前,先判断数据是否已存在,通过以下方式实现。
INSERT INTO m_pool_wblist ( phone_num, confirm_time, type ) SELECT '15333312134', '2018-09-13', '2' FROM DUAL WHERE NOT EXISTS ( SELECT '15333312134' FROM m_pool_wblist WHERE phone_num = '15333312134' );
受影响的行: 0
时间: 0.040s