select A.id,A.aaa,A.bbb,B.ccc,B.ddd
from A left join B
on A.id=B.id
union
select B.id,A.aaa,A.bbb,B.ccc,B.ddd
from A right join B
步骤
两个集合的结构要一致,对应的字段数,字段类型
将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集
将上面的所有集 GROUP BY id
代码演示
差集
-- 下面的sql有明显的问题,不过这个只是一个示意,
-- 从一个表中查询不需要用到交集和差集,条件可以合并在一起直接查询出来的.能明白意思就好
-- 下面的sql的意思是找到所有非技术部的员工的id,code和name
SELECT a.* FROM(
SELECT id,code,name FROM test_emp
UNION ALL
SELECT id,code,name FROM test_emp WHERE dept='JSB'
)a GROUP BY a.id HAVING COUNT(a.id)=
交集
并集
-- union可以自动去除重复的内容,得到不重复的结果集
UNION
)a
List A;
List B;
for(int i=0;iA.size();i++)
if(!B.contains(A.get(i)))
insert(A.get(i));
是这个意思吗?多个条件取交集用AND,取并集用OR,可以举一反三,good luck.
以上就是土嘎嘎小编为大家整理的mysql怎么取并集相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!