在做數據查詢過程中,我們經常要對數據集合進行一些包含或排除的條件查詢,例如:要查詢求算機系學生的學號和選了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.527701.com/article/1793.html 如轉載請注明出處!