SQL的设计与数学理论联系非常紧密。使用SQL*PLUS,可以在Oracle中使用一系列集合函数。
操作类型:
集合并操作
集合全并操作
集合交操作
集合差操作
注意:
使用集合操作时,两个表的表列数据类型必须相同.如果数据类型不同,将出现错误.
举例: testA 表 和testB 表
sql> select * from testA;
结果集为:1,2,3,4,5,6
sql>select * from testB;
结果集为:5,6,7
(1)SQL*PLUS中使用集合并(UNION)操作将返回在两个表中无重复的所有行.
sql>select * from testA
UNION
select * from testB;
结果集为:1,2,3,4,5,6,7
(2)UNION ALL返回包含重复行的所有行.
sql>select * from testA
UNION all
select * from testB;
结果集为:1,2,3,4,5,6,5,6,7
(3)intersect返回两个表中都存在的所有行
sql>select * from testA
intersect
select * from testB;
结果集为:5,6
(4)Minus将返回第一个表减去第二个表相同行的剩余行
sql>select * from testA
MINUS
select * from testB;
结果集为:1,2,3,4
操作类型:
集合并操作
集合全并操作
集合交操作
集合差操作
注意:
使用集合操作时,两个表的表列数据类型必须相同.如果数据类型不同,将出现错误.
举例: testA 表 和testB 表
sql> select * from testA;
结果集为:1,2,3,4,5,6
sql>select * from testB;
结果集为:5,6,7
(1)SQL*PLUS中使用集合并(UNION)操作将返回在两个表中无重复的所有行.
sql>select * from testA
UNION
select * from testB;
结果集为:1,2,3,4,5,6,7
(2)UNION ALL返回包含重复行的所有行.
sql>select * from testA
UNION all
select * from testB;
结果集为:1,2,3,4,5,6,5,6,7
(3)intersect返回两个表中都存在的所有行
sql>select * from testA
intersect
select * from testB;
结果集为:5,6
(4)Minus将返回第一个表减去第二个表相同行的剩余行
sql>select * from testA
MINUS
select * from testB;
结果集为:1,2,3,4
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20595629/viewspace-627863/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20595629/viewspace-627863/