前言

上一節(jié)我們分析了INNER JOIN和IN,對于不同場景其性能是不一樣的,本節(jié)我們接著分析NOT EXISTS和NOT IN,簡短的內(nèi)容,深入的理解,Always to review the basics。

初步探討NOT EXISTS和NOT IN

NOT EXISTS和NOT IN有很大的不同,尤其是對NULL的處理,為何這樣說,當子查詢中有NULL時,此時NOT IN不會返回任何行,下面我們來看下簡單的示例。

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

USE TSQL2012
GO

WITH table1 AS
(
    SELECT 1 AS value
    UNION ALL
    SELECT NULL AS nullcol1
),
table2 AS
(
    SELECT 2 AS value
    UNION ALL
    SELECT NULL AS nullcol2
)

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

首先我們來通過NOT EXISTS來進行查詢

        		

網(wǎng)友評論