MySQL的并集、差集
来源:互联网 发布:阿里云怎么搭建vpn免流 编辑:程序博客网 时间:2024/06/14 09:31
MySQL的并集不支持 Intersect 关键字,所以要用其他方式去达到并集的效果。
让我们看一下下面代码的效果,目的是查询既是计算机系而且不大于19岁的学生
Select*from Student_zjz where Sdept='计算机系'IntersectSelect*from Student_zjz where Sage<=19;
结果如下:
是会出现语法错误的。所以我们要换一种方式
select * from (Select*from Student_zjz where Sdept='计算机系'UNION allSelect*from Student_zjz where Sage<=19) as table_zjz GROUP BY table_zjz.sno HAVING COUNT(table_zjz.sno) > 1;
结果如下:
查询结果正确。
语句解析:
Select*from Student_zjz where Sdept='计算机系'UNION allSelect*from Student_zjz where Sage<=19
这段代码的意思不是取并集,而是把两个集合直接合起来。所以他们之间相交的部分是有两条同样数据的。只要分组之后选出两条数据的即可。
GROUP BY table_zjz.sno HAVING COUNT(table_zjz.sno) > 1;
这里要注意,table_zjz 是我自己对两个集合合起来之后的表起的别名,不然语句是会出错的。如下:
[SQL]select * from (Select*from Student_zjz where Sdept='计算机系'UNION allSelect*from Student_zjz where Sage<=19) GROUP BY table_zjz.sno HAVING COUNT(table_zjz.sno) > 1;[Err] 1248 - Every derived table must have its own alias
最后差集也就很容易得出了。就是让 COUNT(table_zjz.sno) = 1;
阅读全文
0 0
- MySQL的并集、差集
- mysql的合,交,并,差集
- MySQL 的并集、交集和差集
- MySQL 的并集、交集和差集
- MySQL 的并集、交集和差集
- MYSQL差集 交集 并集
- MySQL 并集、交集、差集
- 【mysql】mysql获取两个集合的交集/差集/并集
- kruskal(并差集)
- 并差集
- 并差集
- 并差集 hdu3038
- 并差集_HDU_1213
- 并差集_HDU_1272
- 并差集_HDU_1232
- 家谱 并差集
- HDU4496(并差集)
- 并差集
- 20171020.03
- leetcode 算法 17. Letter Combinations of a Phone Number
- js中数组的用法
- 长整数排序(指针专题)
- conv2、filter2、imfilter的区别
- MySQL的并集、差集
- 抓取淘宝评论
- 第三方短信验证
- 剑指Offer(一)二维数组中的查找
- 科学的解决Http Token拦截器实现【详细 一篇足矣】
- Jenkins 打包Unity APK
- Windows桌面应用程序(1-1-2-3rd) 使用着色器和着色器资源
- Nagios添加mysql监控
- MTK AT端口打开方法