MySQL实现差集(Minus)和交集(Intersect)
2015-03-06 18:38
495 查看
MySQL没有实现Minus和Intersect功能,就像它也没有实现cube的功能一样。
可以用SQL实现同样的功能,就是麻烦了点。
drop table t1;
drop table t2;
create table t1(id int primary key,nickname varchar(20),playNum varchar(20));
create table t2(id int primary key,nickname varchar(20),playNum varchar(20));
insert into t1 values(1,1,10);
insert into t1 values(2,2,20);
insert into t1 values(3,3,30);
insert into t2 values(1,1,10);
insert into t2 values(2,2,200);
insert into t2 values(3,33,300);
commit;
MySQL实现交集
SELECT id, nickname, playNum, COUNT(*)
FROM (SELECT id, nickname, playNum
FROM t1
UNION ALL
SELECT id, nickname, playNum
FROM t2
) a
GROUP BY id, nickname, playNum
HAVING COUNT(*) > 1
MySQL实现差集
SELECT t1.id, t1.nickname, t1.playNum
FROM t1 LEFT JOIN t2 ON t1.id = t2.id
WHERE t1.nickname != t2.nickname
OR t1.playNum != t2.playNum;
可以用SQL实现同样的功能,就是麻烦了点。
drop table t1;
drop table t2;
create table t1(id int primary key,nickname varchar(20),playNum varchar(20));
create table t2(id int primary key,nickname varchar(20),playNum varchar(20));
insert into t1 values(1,1,10);
insert into t1 values(2,2,20);
insert into t1 values(3,3,30);
insert into t2 values(1,1,10);
insert into t2 values(2,2,200);
insert into t2 values(3,33,300);
commit;
MySQL实现交集
SELECT id, nickname, playNum, COUNT(*)
FROM (SELECT id, nickname, playNum
FROM t1
UNION ALL
SELECT id, nickname, playNum
FROM t2
) a
GROUP BY id, nickname, playNum
HAVING COUNT(*) > 1
MySQL实现差集
SELECT t1.id, t1.nickname, t1.playNum
FROM t1 LEFT JOIN t2 ON t1.id = t2.id
WHERE t1.nickname != t2.nickname
OR t1.playNum != t2.playNum;
相关文章推荐
- MySQL实现差集(Minus)和交集(Intersect)
- MySQL实现差集(Minus)和交集(Intersect)测试报告
- MySQL实现差集(Minus)和交集(Intersect)
- MySQL实现差集(Minus)和交集(Intersect)测试报告
- MySQL实现差集(Minus)和交集(Intersect)
- MINUS(差集)、INTERSECT(交集)和UNION (ALL)(并集)
- MINUS(差集)、INTERSECT(交集)和UNION (ALL)(并集)
- MySQL中使用INNER JOIN来实现Intersect交集操作
- intersect 交集 minus 差集
- MySQL 的并集、交集和差集 交集和差集类似oracle中minus的用法
- mysql中实现并集、交集、差集、内联结、外联结、3张以上表的联结、交叉联结
- rownum函数、union并集、intersect交集、minus差集
- MySQL实现Oracle的Intersect 和 Minus
- MySQL实现Oracle的Intersect 和 Minus
- Oracle集合运算符,合集:Union/Union All ,交集:Intersect,差集:Minus
- List实现:交集,并集,差集
- List之Union(),Intersect(),Except() 亦可以说是数学中的并集,交集,差集
- 求两个数组的交集、并集和差集算法分析与实现
- 两个数组并集 交集 差集的算法思想与实现
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)