sql中的数据比较
ntersect運算
返回查詢結果中相同的部分
exp:各個部門中有哪些相同的工種
select job
from account
intersect
select job
from research
intersect
select job
from sales;
minus運算
返回在第一個查詢結果中與第二個查詢結果不相同的那部分行記錄?!?br /> 有哪些工種在財會部中有,而在銷售部中沒有?
exp:select job from account
minus
select job from sales;
select *
from cis.pop_populate a
where a.id not in (select id from cpis.pop_populate)
如果表結構一模一樣,你可以這樣:
先
select * from tab1 minus select * from tab2;
得到第一張表有,第二張表沒有的記錄。
再
select * from tab2 minus select * from tab1;
得到第二張表有,第一張表沒有的記錄。
那是因為你兩個表的表結構不一樣。
我開始說了,“如果表結構一模一樣”
如果表結構不一樣,那么這樣做:
先把一樣的字段挑出來,這些字段是你需要做比較的。沒有挑出的字段不參與比較。
然后:
select col1, col2, ..., colN from tab1 minus select col1, col2, ..., colN from tab2;
select col1, col2, ..., colN from tab2 minus select col1, col2, ..., colN from tab1;
總結
- 上一篇: C#字符串(String)操作
- 下一篇: 它是那么的渺小freeeim