sql求两表的并集交集非交集差集结果集排序

Posted 25miao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql求两表的并集交集非交集差集结果集排序相关的知识,希望对你有一定的参考价值。

create table A(
 id int IDENTITY(1,1) Not null primary key,
 name varchar(20) not null default(‘‘),
)
INSERT INTO [A]([name]) VALUES(a)
INSERT INTO [A]([name]) VALUES(b)
INSERT INTO [A]([name]) VALUES(c)
INSERT INTO [A]([name]) VALUES(d)
INSERT INTO [A]([name]) VALUES(e)
INSERT INTO [A]([name]) VALUES(f)
INSERT INTO [A]([name]) VALUES(g)

create table B(
 id int IDENTITY(1,1) Not null primary key,
 name varchar(20) not null default(‘‘),
)

INSERT INTO [B]([name]) VALUES(a)
INSERT INTO [B]([name]) VALUES(b)
INSERT INTO [B]([name]) VALUES(c)
INSERT INTO [B]([name]) VALUES(d)
INSERT INTO [B]([name]) VALUES(h)
INSERT INTO [B]([name]) VALUES(i)
INSERT INTO [B]([name]) VALUES(j)
SELECT * from A union select * from B  --查询A\B表的并集重复的项只显示一个
SELECT * from A union all select * from B ----查询A\B表的并集重复的也显示
SELECT * from A union all select * from B  order by id asc ---查询A\B表的并集重复的也显示,并按照id升序
SELECT * from A INTERSECT select * from B ----查询两表的交集
SELECT * from A EXCEPT select * from B ----查询A表中不与B表重复的记录
--查询A\B两表中所有非交集的记录
(SELECT * from A EXCEPT select * from B) union (SELECT * from B EXCEPT select * from A) 

 

以上是关于sql求两表的并集交集非交集差集结果集排序的主要内容,如果未能解决你的问题,请参考以下文章

mysql两表汇总后再得到两表的交集和差集,请问怎么实现?

sql 的并集UNION和内联结INNER JOIN 有啥区别?感觉结果是一样的。

SQL 操作结果集 -并集差集交集结果集排序

SQL 操作结果集 -并集差集交集结果集排序

SQL 操作结果集 -并集差集交集结果集排序

PHP数组的并集交集差集