在做数据查询过程中,我们经常要对数据集合进行一些包含或排除的条件查询,例如:要查询求算机系学生的学号和选了c03课程且成绩在80分以上的学生学号,若是用用条件查询就要许多的and或or,我们用运算集查询就方便许多,接下来由南昌网站设计公司百恒网络数据工程师结合实例向大家介绍并集UNION、交集INTERSECT、差集EXCEPT的使用方法:
1.SQL集合的并集运算
求计算机系学生的学号和选了“c03”课程且成绩在80分以上的学生学号。
SELECT sid FROM student WHERE department='计算机系' UNION (SELECT sid FROM learning WHERE cid='c03' AND score>80)
2.SQL集合的差集运算
求没有选择课号为“c01”的学生的学号和课号。
SELECT sid,cid FROM learning WHERE sid IN ( SELECT sid FROM learning EXCEPT ( SELECT sid FROM learning WHERE cid='c01') )
3.SQL集合的交集运算
求同时选了课号为“c01”和“c02”的学生学号。
SELECT sid FROM learning WHERE cid='c01' INTERSECT (SELECT sid FROM learning WHERE cid='c02')
也可以采用自连接的方式求解,即通过自连接将cid的一个属性变成两个名义属性,再逐行进行比较:
SELECT l1.sid FROM learning l1,learning l2 WHERE l1.sid=l2.sid AND l1.cid='c01' AND l2.cid='c02'
本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌网站建设公司-百恒网络 http://www.jxbh.cn/article/1793.html 如转载请注明出处!