前言
上一节我们分析了INNER JOIN和IN,对于不同场景其性能是不一样的,本节我们接着分析NOT EXISTS和NOT IN,简短的内容,深入的理解,Always to review the basics。
初步探讨NOT EXISTS和NOT IN
NOT EXISTS和NOT IN有很大的不同,尤其是对NULL的处理,为何这样说,当子查询中有NULL时,此时NOT IN不会返回任何行,下面我们来看下简单的示例。
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 )
首先我们来通过NOT EXISTS来进行查询
网友评论