假設有這樣一個表:IN子句,TSQL/SQL Server中的NULL處理?
f1 f2
----------
1 3
4 8
6 4
NULL 1
下面的查詢按預期工作:
SELECT f2
FROM Table_1 a
WHERE NOT EXISTS (SELECT *
FROM Table_1
WHERE a.f2 = f1)
...和結果集是:
f2
---
3
8
...但與IN
相似的查詢不會返回任何內容:
SELECT f2
FROM Table_1 a
WHERE f2 NOT IN (SELECT b.f1
FROM Table_1 b)
有什麼問題?
最內層的SELECT在第一個查詢中違背了「Table_1」,而在第二個查詢中違反了「tbltemp b」 - 只是一個錯字? –
是的marc_s 對不起。我犯了一個錯誤 –