前提贮备
UNION 进行表链接后会筛选掉重复的记录
UNION ALL 进行表链接后会筛选掉不会重复的记录
CREATE TABLE A_TEST
(
A_ID VARCHAR2(100) NOT NULL,
A_C1 VARCHAR2(100)
)
数据:
1 A1
2 A2
3 A3
CREATE TABLE B_TEST
(
B_ID VARCHAR2(100) NOT NULL,
B_C1 VARCHAR2(100),
B_C2 VARCHAR2(100)
)
数据:
1 BC1_1 B_C2_1
1 BC1_1 B_C2_1
1 BC1_1 B_C2_1
1 BC1_1 B_C2_1
1 BC1_1 B_C2_1
2 BC1_2 B_C2_2
3 BC1_3 B_C2_3
UNION 进行表链接后会筛选掉重复的记录
SELECT A.A_C1
FROM A_TEST A WHERE A.A_ID='1'
UNION
SELECT B.B_C1
FROM B_TEST B WHERE B.B_ID='1'
检索结果:
A1
BC1_1
UNION ALL 进行表链接后会筛选掉不会重复的记录
SELECT A.A_C1
FROM A_TEST A WHERE A.A_ID='1'
UNION ALL
SELECT B.B_C1
FROM B_TEST B WHERE B.B_ID='1'
检索结果:
A1
BC1_1
BC1_1
BC1_1
BC1_1
BC1_1
本文通过创建两个测试表并插入数据,演示了如何使用SQL中的UNION和UNION ALL来处理表连接后的结果集。UNION操作会去除重复的记录,而UNION ALL则保留所有记录。
2万+

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



