在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