前言

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

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

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

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

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)

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn) 

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

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

延伸閱讀

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