前言

本節(jié)我們來分析LEFT JOIN和NOT EXISTS,簡短的內容,深入的理解,Always to review the basics。

LEFT JOIN...IS NULL和NOT EXISTS分析

之前我們已經分析過IN查詢在處理空值時是基于三值邏輯,只要子查詢中存在空值此時則沒有任何數據返回,而LEFT JOIN和NOT EXISTS無論子查詢中有無空值上處理都是一樣的,當然比較重要的是利用LEFT JOIN...IS NULL來檢查NULL?;诙叻祷氐慕Y果集是一樣的,下面我們開始直接用前面節(jié)所創(chuàng)建表來進行測試。在BigTable和SmallerTable上首先未創(chuàng)建索引

平面設計培訓,網頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

USE TSQL2012
GO

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS

SET STATISTICS IO ON
SET STATISTICS TIME ON

SELECT BigTable.ID, SomeColumn
  FROM BigTable LEFT OUTER JOIN SmallerTable ON BigTable.SomeColumn = SmallerTable.LookupColumn
  WHERE LookupColumn IS NULL

SELECT ID, SomeColumn FROM BigTable
WHERE NOT EXISTS (SELECT LookupColumn FROM SmallerTable WHERE SmallerTable.LookupColumn = BigTable.SomeColumn)

平面設計培訓,網頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

平面設計培訓,網頁設計培訓,美工培訓,游戲開發(fā),動畫培訓 

二者執(zhí)行CPU Time和elapsed Time如下

平面設計培訓,網頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式