--建表语句
CREATE TABLE TABLE_A(
ID NUMBER,
NAME VARCHAR2(40),
AGE NUMBER
);
CREATE TABLE TABLE_B(
ID NUMBER,
NAME VARCHAR2(40),
AGE NUMBER
);
INSERT INTO TABLE_A VALUES (1,'Tom',22);
INSERT INTO TABLE_A VALUES (2,'LI',25);
INSERT INTO TABLE_A VALUES (3,'ZHAO',26);
INSERT INTO TABLE_A VALUES (4,'WANG',27);
INSERT INTO TABLE_A VALUES (5,'PL',15);
INSERT INTO TABLE_A VALUES (6,'HU',36);
INSERT INTO TABLE_B VALUES (1,'Tom',22);
INSERT INTO TABLE_B VALUES (2,'LI',25);
INSERT INTO TABLE_B VALUES (3,'ZHAO',26);
INSERT INTO TABLE_B VALUES (4,'WANG',27);
INSERT INTO TABLE_B VALUES (5,'PL',15);
INSERT INTO TABLE_B VALUES (6,'LISA',16);
COMMIT ;
MINUS
对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序
--取A表中有的数据且B表中没有的数据 去除重复数据 进行默认规则的排序
SELECT * FROM TABLE_A MINUS SELECT * FROM TABLE_B;
UNION
对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序
--取A表中全部数据和B表中全部数据 去除重复数据 会进行排序
SELECT * FROM TABLE_A UNION SELECT * FROM TABLE_B;
UNION ALL
对两个结果集进行并集操作,包括重复行,不进行排序
--取A表中全部数据和B表中全部数据 不去重 不进行排序
SELECT * FROM TABLE_A UNION ALL SELECT * FROM TABLE_B;
INTERSECT
对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序
--取A表和B表数据相同的数据 去除重复数据 会进行排序
SELECT * FROM TABLE_A INTERSECT SELECT * FROM TABLE_B;
这篇博客介绍了数据库中的集合操作,包括MINUS、UNION、UNION ALL和INTERSECT。通过示例展示了如何在两张表TABLE_A和TABLE_B之间进行数据的差异、并集、全集和交集操作,所有操作都考虑了重复行和排序的问题。这些基本操作对于理解和处理数据库中的数据至关重要。

2028

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



