在Oracle SQL中,可以使用
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
操作符。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/509460.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复