SQL語句的集合運算用法.doc

SQL語句的集合運算用法.doc

ID:57690680

大?。?9.50 KB

頁數(shù):2頁

時間:2020-09-01

SQL語句的集合運算用法.doc_第1頁
SQL語句的集合運算用法.doc_第2頁
資源描述:

《SQL語句的集合運算用法.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、SQL語句的MINUS,INTERSECT和UNIONALL?SQL語句中的三個關(guān)鍵字:MINUS(減去),INTERSECT(交集)和UNIONALL(并集);?關(guān)于集合的概念,中學(xué)都應(yīng)該學(xué)過,就不多說了.這三個關(guān)鍵字主要是對數(shù)據(jù)庫的查詢結(jié)果進(jìn)行操作,正如其中文含義一樣:兩個查詢,MINUS是從第一個查詢結(jié)果減去第二個查詢結(jié)果,如果有相交部分就減去相交部分;否則和第一個查詢結(jié)果沒有區(qū)別.?INTERSECT是兩個查詢結(jié)果的交集,UNIONALL是兩個查詢的并集;??雖然同樣的功能可以用簡單SQL語句來實現(xiàn),但是性能

2、差別非常大,有人做過實驗:made_order共23萬筆記錄,charge_detail共17萬筆記錄:???SELECTorder_idFROMmade_order  MINUS  SELECTorder_idFROMcharge_detail耗時:1.14sec    SELECTa.order_idFROMmade_ordera  WHEREa.order_id?NOTexists(  ??SELECTorder_id  ??FROMcharge_detail  ??WHEREorder_id=a.order_

3、id  )耗時:18.19sec性能相差15.956倍!因此在遇到這種問題的時候,還是用MINUS,INTERSECT和UNIONALL來解決問題,否則面對業(yè)務(wù)中隨處可見的上百萬數(shù)據(jù)量的查詢,數(shù)據(jù)庫服務(wù)器還不被咱玩的死翹翹?PS:應(yīng)用兩個集合的相減,相交和相加時,是有嚴(yán)格要求的:1.兩個集合的字段必須明確(用*就不行,報錯);2.字段類型和順序相同(名稱可以不同),如:集合1的字段1是NUMBER,字段2是VARCHAR,那么集合2的字段1必須也是NUMBER,字段2必須是VARCHAR;3.不能排序,如果要對結(jié)果排

4、序,可以在集合運算后,外面再套一個查詢,然后排序,如前面的例子可以改成:SELECT*FROM???(SELECTorder_idFROMmade_order  MINUS  SELECTorder_idFROMcharge_detail)ORDERBYORDER_IDASC

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。