本文出自 “十里稻花香” 博客,请务必保留此出处http://5880861.blog.51cto.com/5870861/1714908MySQL求差集标签:mysql 差集 交集本文系统来源:http://5880861.blog.51cto.com/5870861/1714908
-- 下面的sql有明显的问题,不过这个只是一个示意,从一个表中查询不需要用到交集和差集,条件可以合并在一起直接查询出来的.能明白意思就好2 -- 下面的sql的意思是找到所有非技术部的员工的id,code和name3 SELECT a.* FROM(4 SELECT id,code,name FROM test_emp5 UNION ALL6 SELECT id,code,name FROM test_emp WHERE dept=‘JSB‘7 )a GROUP BY a.id HAVING COUNT(a.id)=18 9 -- 下面的sql的意思是找到所有技术部年龄大...
st.* from student st
inner join score sc on sc.s_id = st.s_id
inner join course c on c.c_id=sc.c_id and c.c_id="01"
where st.s_id not in (
select st2.s_id from student st2
inner join score sc2 on sc2.s_id = st2.s_id
inner join course c2 on c2.c_id=sc2.c_id and c2.c_id="02"
)这是我自己写的(单纯觉得这样看上去清楚一点,然后就懒得跟课程表连了,有成绩的话他就学了,没有成绩他就没学)
第一种方法就是用...
1.并集的运算 select name from test1 union [all] select name from test2; 使用union时,默认将对结果进行排序,union all则不 1.并集的运算
select name from test1
union [all]
select name from test2;
使用union时,,默认将对结果进行排序,union all则不进行排序操作,所以会消耗更少的资源;然而,union all将不进行去重的操作~
2.交集的运算
select name from test1
intersect
select name from test2;
Oracle不支持Inte...
MySQL没有实现Minus和Intersect功能,就像它也没有实现cube的功能一样。可以用SQL实现同样的功能,就是麻烦了点。 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));
i...
今天在做一个微信墙的抽奖程序的时候遇到了一个问题,我需要查询量表的差集,业务情形是这样的 一个表用来保存抽奖用户的( 一个人可能会有多条数据),而另一张表保存的是中奖的用户,我需要报么有中奖的所用用户查找出来,刚开始用的是where进行多表关联查询 今天在做一个微信墙的抽奖程序的时候遇到了一个问题,我需要查询量表的差集,业务情形是这样的一个表用来保存抽奖用户的( 一个人可能会有多条数据),而另一张表保存的...
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 va...
可以用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,...
在论坛看到的一个问题这里总结下:
CREATE TABLE consume (
id VARCHAR(11) NOT NULL,
tid VARCHAR(11) NOT NULL
)
COLLATE=’utf8_general_ci’
ENGINE=MyISAM
;
INSERT INTO consume (id, tid) VALUES (‘1’, ‘11’);
INSERT INTO consume (id, tid) VALUES (‘2’, ‘14’);
INSERT INTO consume (id, tid) VALUES (‘3’, ‘12’);CREATE TABLE teacher (
id VARCHAR(11) NOT NULL,
tname VARCHAR(11) NOT NULL,
tdate DATET...
可以用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,30...
创建两个表
CREATE TABLE `object_a` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`oname` varchar(50) DEFAULT NULL,`odesc` varchar(50) DEFAULT NULL,`create_time` datetime DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1添加数据
CREATE TABLE `object_b` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`oname` varchar(50) DEFAULT NULL,`odesc` varchar(50) DEFAULT NULL,`create_...