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 |
|
来自: YOYO的小馆 > 《sql server》