SQL集合运算:差集、交集、并集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL集合运算:差集、交集、并集相关的知识,希望对你有一定的参考价值。
参考技术A 原SQL集合运算:差集、交集、并集
2011年03月30日 15:41:00
阅读数:15446
1、差集( except )
select a from t_a
except
select a from t_b
-- 也可写作:
select a from t_a where a not in (select a from t_b)
-- 多个字段时:
select a,b from t_a
except
select a,b from t_b
-- 多字段的查集也可写成:
select a,b from t_a where (a,b) not in (select a,b from t_b)
2、交集( intersect )
select a from t_a
intersect
select a from t_b
-- 也可写作:
select a from t_a where a in (select a from t_b)
3、并集( union )
select a from t_a
union distinct
select a from t_b
用java编写程序,求集合的并集、交集和差集
有集合A=1,2,3,4和B=1,3,7,9,11, 编写一个应用程序输出A和B交集、并集和差集
解题思路:
并集是指两个集合合并,但是去掉重复的元素的集合。可以使用HashSet类的addAll的方法将两个集合合并
交集是指两个集合中都有的元素组成的集合,可以使用HashSet类的retainAll的方法得到两个集合的交集
差集是指属于A集合但是不属于B集合的元素组成的集合
Integer[] A = 1,2,3,4;
Integer[] B = 1,3,7,9,11;
List<Integer> listA = Arrays.asList(A);
List<Integer> listB = Arrays.asList(B);
List<Integer> jiaoji = new ArrayList<Integer>();
for(Integer a:listA)
if(listB.contains(a))
jiaoji.add(a);
System.out.println(jiaoji);
List<Integer> bingji = new ArrayList<Integer>();
for(Integer a:listA)
if(!bingji.contains(a))
bingji.add(a);
for(Integer b:listB)
if(!bingji.contains(b))
bingji.add(b);
System.out.println(bingji);
List<Integer> chaji = new ArrayList<Integer>();
for(Integer a:listA)
if(!listB.contains(a))
chaji.add(a);
System.out.println(chaji);
参考技术B package yeyu;
import java.util.ArrayList;
public class Jiaoji
/**
* @param args
*/
public static void main(String[] args)
// TODO Auto-generated method stub
ArrayList<Integer> list=new ArrayList<Integer>();
ArrayList<Integer> list2=new ArrayList<Integer>();
ArrayList<Integer> list3=new ArrayList<Integer>();
list.add(1);
list.add(2);
list2.add(1);
list2.add(2);
list2.add(3);
list2.add(4);
for (int i = 0; i < list.size(); i++)
for (int j = 0; j < list2.size(); j++)
if(list.get(i)==list2.get(j)||list.get(i).equals(list2.get(j)))
list3.add(list.get(i));
for (int i = 0; i < list3.size(); i++)
System.out.println(list3.get(i));
参考技术C
package java6;
import java.util.*;
public class Test7_4
public static void main(String[] args)
// TODO Auto-generated method stub
Integer[] A = 1,2,3,4;
Integer[] B = 1,3,7,9,11;
List<Integer> listA = Arrays.asList(A);
List<Integer> listB = Arrays.asList(B);
List<Integer> jiaoji = new ArrayList<Integer>();
for(Integer a:listA)
if(listB.contains(a))
jiaoji.add(a);
System.out.println(jiaoji);
List<Integer> bingji = new ArrayList<Integer>();
for(Integer a:listA)
if(!bingji.contains(a))
bingji.add(a);
for(Integer b:listB)
if(!bingji.contains(b))
bingji.add(b);
参考技术D 什么意思,你都把思路写出来了啊
以上是关于SQL集合运算:差集、交集、并集的主要内容,如果未能解决你的问题,请参考以下文章
Python set运算 集合差集,并集,交集,list去重复