DUAL:临时表,可以用于构造或者计算数据
Sql Server:不支持该写法!!!!!
Oracle、MySql支持该写法。
例子1:用于无表计算
select 3*4 as result from dual
例子2:将没有关系的结果集构造成一个结果集
select
(select count(1) from user_info where sex=1) as a1,
(select count(1) from user_info_new where user_tel is not null or user_tel !='') as a2
from dual
例子3:Insert 前校验数据是否存在。满足where条件才会执行insert
INSERT INTO table (primarykey , name2, name3, ...)
SELECT key, value1, value2, ...
FROM dual
WHERE not exists (select * from table where primarykey = key);
本文介绍了DUAL表在数据库操作中的作用,特别是在Oracle和MySql中的支持情况。DUAL表常用于无表计算和构造结果集,例如进行简单的数学运算、组合多个子查询结果。同时,它也可用于Insert语句前的数据校验,确保插入数据的正确性。通过实例展示了DUAL表的实用性和灵活性。
2万+

被折叠的 条评论
为什么被折叠?



