--1. null 對 in(not in) 查詢的影響
--測試資料
declare @1 table(col1 int)
insert @1 select 1
union all select null
union all select 2
declare @2 table(col1 int)
insert @2 select 1
--查詢
select [@1總記錄數]=count(*) from @1
--結果: 3
select [@1在@2表中存在的記錄數]=count(*) from @1 a
where col1 in(select col1 from @2)
--結果: 1
select [@1在@2表中存在的記錄數]=count(*) from @1 a
where col1 not in(select col1 from @2)
--結果: 1
--在@2中插入一條null值
insert @2 select null
select [@1在@2表中存在的記錄數]=count(*) from @1 a
where col1 in(select col1 from @2)
--結果: 1
select [@1在@2表中存在的記錄數]=count(*) from @1 a
where col1 not in(select col1 from @2)
--結果: 0
go--2. 使用 exists 代替in
--測試資料
declare @1 table(col1 int)
insert @1 select 1
union all select null
union all select 2
declare @2 table(col1 int)
insert @2 select 1
union all select null
select [@1在@2表中存在的記錄數]=count(*)
from @1 a
where exists(select * from @2 where col1=a.col1)
--結果: 1
select [@1在@2表中存在的記錄數]=count(*)
from @1 a
where not exists(select * from @2 where col1=a.col1)
--結果: 2
NULL對IN的查詢的影響及解決示例 sql
1.null 對 in not in 查詢的影響 測試資料 declare 1 table col1 int insert 1 select 1 union all select null union all select 2 declare 2 table col1 int insert 2 se...
oracle 中null 值對排序的影響
size large color red oracle 中null 值對排序的影響 color size size medium 問題處理 方法1 使用nvl函式 語法 nvl expr1,expr2 若expr1是null,則返回expr2,否則返回expr1.認識了nvl的語法,就可以在排序中使...
MYSQL NULL 對查詢的影響
在建立表時,經常要給某些列設定 not null 的約束。可是為什麼我們盡量不使用 null 呢?這裡記錄幾個簡單的例子 在使用 distinct 時,null 也被視為一類資料,null 存在於多行中時,也會被合併為一條 null 的資料.所有包含 null 的計算,結果必然是 null。如 1 ...