好久沒用到這個指令了....
EXIST & NOT EXISTS
拿來做比對兩個資料表重複的資料的話可以使用
例如:
兩份資料,資料表A跟資料表B有重複的資料
在資料表A內有A+B的資料
要如何找到兩份不重複的資料
資料表A:
1 序號1 有資料
2 序號2 有資料
3 序號3 有資料
4 序號4 無資料
5 序號5 有資料
資料表B:
3 序號3 有資料
5 序號5 有資料
SELECT *
FROM 資料表A
where 檢查碼 = '有資料' AND NOT EXISTS
(
select * from 資料表B WHERE 資料表A.序號 = 資料表B.序號
)
NOT EXISTS 會找 資料表A內檢查碼是有資料的欄位,沒有存在的資料表B資料
所以得到的會是
1 序號1 有資料
2 序號2 有資料
-------
相反的若使用EXISTS語法,就會變成...
SELECT *
FROM 資料表A
where 檢查碼 = '有資料' AND EXISTS
(
select * from 資料表B WHERE 資料表A.序號 = 資料表B.序號
)
找出資料表A檢查碼是有資料的欄位裡面,跟資料表B相同的資料..
得到就是
3 序號3 有資料
5 序號5 有資料
欸..這例子好像很爛...
反正就是這樣,試試看就知道囉~
- Feb 01 Mon 2010 15:40
TSQL|EXIST & NOT EXISTS
全站熱搜
留言列表