分享

SQL server 中交集并集,包含与不包含用法

 YOYO的小馆 2022-11-16 发布于江西

1、有时我们要对两个表的相同字段的值进行合并,这是我们可以对结果集进行并集操作

2、有时我们要找出两个表的相同字段 相同的值,这是我们可以对结果集进行交集操作

3、有时我们要找出两个表的相同字段 存在差异的值,这是我们可以对结果集进行差集操作

下面是并集、交集、差集的操作

--inner join 两个表都有的,交集

 select * from YOYO_CP a inner join YOYO_JH b on a.产品名称 = b.产品名称

 --left join a表全部都有,B表有部分

  select * from YOYO_CP a left join YOYO_JH b on a.产品名称 = b.产品名称

  --right join b表全都有,a表有部分

  select * from YOYO_CP a right join YOYO_JH b on a.产品名称 = b.产品名称

  --union 将表A和表B 中的 产品名称 合并(去掉重复值)

select A.产品名称 from YOYO_CP A union select B.产品名称 from YOYO_JH B

--union 将表A和表B 中的 产品名称 合并(不去掉重复值)

select A.产品名称 from YOYO_CP A union   all select B.产品名称 from YOYO_JH B

--full outer join A和B之间才差集,在A中没有或者在B中没有

select * from YOYO_CP a full outer join YOYO_JH b  on a.产品名称 = b.产品名称 where

 a.产品名称 is null or b.产品名称 is null

 --full outer join 将AB两个连接,全部存在

 select*from YOYO_CP a  full outer join YOYO_JH b  on a.产品名称 = b.产品名称

 --intersect查看两个表里面相同的值

select 产品名称 from YOYO_CP intersect select 产品名称 from YOYO_JH

--except查看A表有但是B表没有的值,可调换

select 产品名称 from YOYO_CP except select 产品名称 from YOYO_JH

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多