可以用語句快速過濾select * from 人員表 where 姓名 not in (select 姓名 from 出勤表)
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站建設(shè)、利通網(wǎng)絡(luò)推廣、小程序開發(fā)、利通網(wǎng)絡(luò)營銷、利通企業(yè)策劃、利通品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供利通建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:sd-ha.com
假設(shè)是學(xué)生退出登錄時在t1表刪除數(shù)據(jù)
假設(shè)id各為兩個表的主鍵
select * from t2 where id not in (select id from t1)
結(jié)果集是t2表中id不在t1表的數(shù)據(jù)
查詢兩張表數(shù)據(jù)不一致的記錄,可以用求差集(非交集)的辦法來解決。
SQL語言求"差集"的辦法相對于求"交集"的辦法要少很多,一般可用not exists(非存在子句)或 左(右)連接后所產(chǎn)生空字段值來篩選兩表的差集。
下面舉個例子供參考
選出a表中與b表中id不一致的記錄
select a.* from a where not exists (select 1 from b where b.id=c.id);
說明:上述語句只比對id一個字段,我們可以根據(jù)需要比對多個字段。not exists在比對字段有可利用的索引時,其運行效率是非常高,但是如果沒有索引的情況下運行在大數(shù)據(jù)表時,其運行效率極差,這時應(yīng)避免使用它,這時我們可改用左(右)連接來求差集。
下面是用左連接來求差集的例子:
1
select a.* from a left join b on a.id=b.id where b.id is null;
用左(右)連接來求差集,由于需要實施兩表連接會導(dǎo)致笛卡爾效應(yīng)其輸出集的記錄行可能會增多,若果不是一對一或一對多,我們應(yīng)該將多對多的情況處理成多對一后才進行連接,否則輸出的記錄集可能不正確。
求差集的兩種方法,有索引可利用時,not exists的效率要高于left join,反之left join效率更好。
假設(shè)是學(xué)生退出登錄時在t1表刪除數(shù)據(jù) 假設(shè)id各為兩個表的主鍵 select * from t2 where id not in (select id from t1) 結(jié)果集是t2表中id不在t1表的數(shù)據(jù)
當(dāng)前題目:mysql怎么比較兩個表 mysql比較兩張表的數(shù)據(jù)差異
網(wǎng)站鏈接:http://sd-ha.com/article38/ddsiisp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站維護、移動網(wǎng)站建設(shè)、網(wǎng)站收錄、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)