转载自:http://www.blogjava.net/zhangwei217245/archive/2010/01/25/310708.html
问题:
语句1:
Select*fromtable1AwhereA.col1notin(selectcol1table2B)
如果这样,本来应该有一条数据,结果没有。
如果我改写成这样:语句2:
table1 AexistsSELECT*FROMtable2 BB.col1=A.col1)
结果就正确,有一条数据显示。经过一番搜索,原以为是子查询结果集太大的原因。
后来有网上强人指点:子查询里面有空集。即子查询的结果集里面有NULL的结果。
把查询语句修改成:
语句3:
table2BB.col1isnull)