常常用Except來比對資料差異性,但一直不知道Except有個雷。那就是會distinct回傳的資料列,日前看見楊志強老師分享文才知道,汗顏......
下面的腳本中我建立兩張資料表TbA及TbB,TbA會比TbB多寫入2筆id為1及name是rock的資料。
Create Table TbA(id int,name varchar(10));
Create Table TbB(id int,name varchar(10));
GO
Insert Into TbA Values(1,'rock'),(1,'rock'),(2,'cary'),(3,'Daniel');
Insert Into TbB Values(2,'cary'),(3,'Daniel');
GO
Select * From TbA
Except
Select * From TbB
GO
執行上述腳本後可以發現SQL只回傳一筆id為1及name是rock的資料。
注意 : 請小心服用
我是ROCK
rockchang@mails.fju.edu.tw