当前位置:首页 > 行业动态 > 正文

oracle 取并集

在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操作符。

0