[5243][SQL Server][T-SQL]except(差集)的用法
假如有2個資料表的資料,因為某些原因,必須比對2個資料表資料的差異,除了筆數一樣,還必須做到資料一模一樣,
除了使用select count ( * ) from A和select count ( * ) from B比較筆數一樣外,可以使用
select * from A
except
select * from B
(任何欄位值不同,皆會被列出,列出A存在但B不存在的資料)
select * from B
except
select * from A
(列出B存在但A不存在的資料)
另外也支援類似union的語法:
select * from A
except
select * from B
except
select * from C
另外值得注意的是,比對count( * )並不是數量的減法,
例如資料表A有10筆,資料表B有8筆,則
select count( * ) from A
except
select count( *) from B
結果會是10(比對數字不同),而不是2 (減法10-8)