UNION
操作符来取并集。它将两个或多个SELECT语句的结果组合到一个结果集中。需要注意的是,所有SELECT语句中的列数和数据类型必须相同,并且每个SELECT语句中的列的顺序也必须相同。 在Oracle中,可以使用集合操作符UNION
来取出两个或多个查询结果的并集,以下是详细的步骤:
1. 创建示例表
我们创建两个示例表,用于演示如何取出并集。
CREATE TABLE dept ( deptno NUMBER, dname VARCHAR2(14), loc VARCHAR2(13) ); INSERT INTO dept VALUES (10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO dept VALUES (20, 'RESEARCH', 'DALLAS'); INSERT INTO dept VALUES (30, 'SALES', 'CHICAGO'); INSERT INTO dept VALUES (40, 'OPERATIONS', 'BOSTON');
创建另一个表:
CREATE TABLE temp_dept ( deptno NUMBER, dname VARCHAR2(14), loc VARCHAR2(13) ); INSERT INTO temp_dept VALUES (50, 'MARKETING', 'LONDON'); INSERT INTO temp_dept VALUES (60, 'TRAINING', 'PARIS'); INSERT INTO temp_dept VALUES (70, 'IT', 'TOKYO');
2. 使用UNION取出并集
接下来,我们将使用UNION
操作符来取出这两个表中的所有记录的并集。
SELECT * FROM dept UNION SELECT * FROM temp_dept;
执行上述查询后,将返回以下结果:
DEPTNO | DNAME | LOC |
10 | ACCOUNTING | NEW YORK |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
50 | MARKETING | LONDON |
60 | TRAINING | PARIS |
70 | IT | TOKYO |
注意:UNION
操作符会自动去除重复的记录,如果需要保留重复记录,可以使用UNION ALL
操作符。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。