文档章节

MySQL实现差集(Minus)和交集(Intersect)

Airship
 Airship
发布于 2016/03/03 15:45
字数 316
阅读 361
收藏 1

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;

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

Ubuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htm

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htm

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-06/103551.htm


本文转载自:http://www.linuxidc.com/Linux/2014-06/103551.htm

Airship
粉丝 43
博文 994
码字总数 20464
作品 0
南京
高级程序员
私信 提问
php中的数组函数学习记录1

1、返回字符串键名全为小写或大写的数组。arraychangekeycase 用法:arraychangekeycase($input (array),CASEUPPER|CASELOWER),其中CASELOWER是返回小写(默认),CASEUPPER返回大写 例子: ...

mrmusic
2016/03/19
45
0
详解 SQL 集合运算

原文出处:jackson0714 以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 概述: 本篇主要是对集合运算中并集、交集、差集运算基础的总结。 集合运算...

jackson0714
2016/08/12
0
0
oracle --union和union all

当我们需要将两个select语句的结果作为一个整体显示时,就需要使用到union或者union all关键字。 union的作用是将多个结果合并在一起显示出来。 union和uinon all的区别是:union会对结果集中...

求是科技
2015/08/03
0
0
SQL集合运算:差集、交集、并集

1、差集( except ) select a from t_a except select a from t_b -- 也可写作: select a from ta where a not in (select a from tb) -- 多个字段时: select a,b from t_a except select ......

颖辉小居
2016/11/04
97
0
SQL集合运算:差集、交集、并集

1、差集( except ) select a from t_a except select a from t_b -- 也可写作: select a from ta where a not in (select a from tb) -- 多个字段时: select a,b from t_a except select ......

赵帅A
2016/04/27
61
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针的使用

#include <stdio.h>#include <stdlib.h>typedef struct node Node;struct node {int data;struct node* next;struct node* prev;};Node head;Node* insert(Node......

小张525
18分钟前
2
0
【大数据技术】——Hadoop(1)

什么是大数据 基本概念 《数据处理》 在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经...

须臾之余
32分钟前
6
0
比特币从地址逆向计算私钥

区块链 区块链简介 说到比特币,就不得不提区块链。那什么是区块链呢? 区块链本质是一个数据集,只不过数据的组织采用了比较特殊的方式,就是把数据拆分为一块一块的小数据集。 为什么要进行...

trayvon
46分钟前
1
0
TypeScript……真香

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的...

郁也风
52分钟前
3
0
shell基本案例

1、自定义rm linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。下面分两种情况,做...

寰宇01
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部