表間資料是否一致的檢查 資料比對

2021-06-21 15:33:25 字數 1563 閱讀 9867

資料庫:twt001

資料表:a,b

參考文章:

sql中的case when用法

sql中的case when用法

case函式不同於decode函式。在case函式中,可以使用between,like,is null,in,exists等等。比如說使用in,exists,可以進行子查詢,從而實現更多的功能。     

下面具個例子來說明,有兩個表,tbl_a,tbl_b,兩個表中都有keycol列。現在我們對兩個表進行比較,tbl_a中的keycol列的資料如果在tbl_b的keycol列的資料中可以找到,返回結果'matched',如果沒有找到,返回結果'unmatched'。     

要實現下面這個功能,可以使用下面兩條語句     

--使用in的時候     

select keycol,         

case when keycol in ( select keycol from tbl_b )        

then 'matched'      

else 'unmatched' end label       

from tbl_a;     

--使用exists的時候    

select keycol,         

case when exists ( select * from tbl_b        

where tbl_a.keycol = tbl_b.keycol )      

then 'matched'       

else 'unmatched' end label        

from tbl_a;     

使用in和exists的結果是相同的。也可以使用not in和not exists,但是這個時候要注意null的情況。

--使用exists的時候     

使用in和exists的結果是相同的。也可以使用not in和not exists,但是這個時候要注意null的情況。

比對兩個表的賬單是否一致

sql code 查詢兩個表結構相同,內容之間的差異!insert update,delete create table a 銀行卡號 varchar 5 金額 int,日期 datetime 交易號 varchar 100 insert into aselect x1 100 getdate 00...

比較兩張表的資料是否一致

兩張表的結構相同,要比較兩張表的資料是否一致 例如 a表中列有 id,name,age b表中列有 id,name,age select b.id from a,b where a.name b.name and a.age b.age 以上的sql語句可以查出a,b兩個表中的相同資料。下面的sql...

不同hive集群中基於表的資料一致性比對

因對hadoop集群進行資料遷移,資料遷移完畢後進行兩個hive庫的資料一致性的比對,不僅對源表資料進行比對,而且要同時使用兩個集群加工相同資料,對加工後的資料進行資料一致性比對,下面採用md5方法的驗證 bin bash db hmdbi hive e use db show tables tab...