最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL如何實(shí)現(xiàn)兩張表取差集

 更新時(shí)間:2023年02月07日 09:50:38   作者:搬運(yùn)Gong  
這篇文章主要介紹了MySQL如何實(shí)現(xiàn)兩張表取差集問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MySQL兩張表取差集

業(yè)務(wù)場(chǎng)景如下:

人員表中有證件號(hào)、手機(jī)號(hào)字段,這兩個(gè)字段因?yàn)樯婕暗絺€(gè)人隱私問題,因此加密存儲(chǔ),有另外一張解密表可以和人員表進(jìn)行關(guān)聯(lián),查出解密后的證件號(hào)和手機(jī)號(hào),現(xiàn)在需要統(tǒng)計(jì)出人員表中有多少?zèng)]有加密的數(shù)據(jù),進(jìn)行再次加密處理,這個(gè)時(shí)候,考慮到的就是求兩張表的差集,來找出未加密的人員。

求差集 SQL 腳本

select p.* from persons p
left join CERT_CNO_PNO_TAB c ON c.PERSON_BUSINESS_ID = p.id
where p.`status` = 'person.status.allow.yes' and p.del_flag = '0'
and c.id is null;

注意看,where 語句的最后一個(gè)條件。通過 left join 連表之后,再使用右表的 c.id is null 來進(jìn)行過濾,最終可以得到 person 表與 CERT_CNO_PNO_TAB 表中的差集。

結(jié)果如下:

我們來驗(yàn)證一下,看看求得的這個(gè)差集,在解密表中是否真的不存在。

select * from CERT_CNO_PNO_TAB where PERSON_BUSINESS_ID = '0f551c3e03e34e449e5b2e31b64efdc5';

結(jié)果如下:

可以看出,通過 left join 再加上 右表的條件過濾取的的差集,是正確的。

這種求差集的效率,遠(yuǎn)比 not in 、not exist 要快的多,小伙伴們可以嘗試一下!

MySQL查兩個(gè)表之間的數(shù)據(jù)差集

需要查兩個(gè)表之間的差集

首先,想到的是主鍵直接not in

select mailbox_id from co_user where mailbox_id not in (select mailbox_id from core_mailbox);

好吧!這個(gè)是可以,但是數(shù)據(jù)多了的話,想到這個(gè)查詢的邏輯有點(diǎn)受不住

于是再改為下面的這樣:

select cu.mailbox_id,cm.mailbox_id from co_user as cu?
    left join core_mailbox as cm?
      on cu.mailbox_id = cm.mailbox_id?
        where cm.mailbox_id is NULL;

利用了left join的,然后進(jìn)行對(duì)比,并且利用where進(jìn)行篩選。

后面也在網(wǎng)上找了這條:

SELECT mailbox_id FROM `co_user` left join?
(select mailbox_id as i from core_mailbox) as t1
on co_user.mailbox_id= t1.i where t1.i is NULL;

概念上與第二條同理。

好吧! 回顧了一下left join

SQL LEFT JOIN 關(guān)鍵字

LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

绥阳县| 游戏| 平乡县| 福鼎市| 三门县| 抚顺市| 赤峰市| 广德县| 莱阳市| 石狮市| 定襄县| 汉源县| 宽城| 镇安县| 武定县| 齐齐哈尔市| 崇明县| 南丰县| 招远市| 钦州市| 武胜县| 安徽省| 会东县| 朝阳市| 三亚市| 乡宁县| 和龙市| 商南县| 金塔县| 宾川县| 册亨县| 台中市| 内丘县| 元朗区| 鄂伦春自治旗| 阿图什市| 抚顺市| 疏附县| 温宿县| 江永县| 仁布县|