色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

MySQL如何實現兩張表取差集

瀏覽:218日期:2023-02-18 16:43:40
目錄
  • MySQL兩張表取差集
    • 求差集 SQL 腳本
  • MySQL查兩個表之間的數據差集
    • SQL LEFT JOIN 關鍵字
  • 總結

    MySQL兩張表取差集

    業務場景如下:

    人員表中有證件號、手機號字段,這兩個字段因為涉及到個人隱私問題,因此加密存儲,有另外一張解密表可以和人員表進行關聯,查出解密后的證件號和手機號,現在需要統計出人員表中有多少沒有加密的數據,進行再次加密處理,這個時候,考慮到的就是求兩張表的差集,來找出未加密的人員。

    求差集 SQL 腳本

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

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

    結果如下:

    我們來驗證一下,看看求得的這個差集,在解密表中是否真的不存在。

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

    結果如下:

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

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

    MySQL查兩個表之間的數據差集

    需要查兩個表之間的差集

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

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

    好吧!這個是可以,但是數據多了的話,想到這個查詢的邏輯有點受不住

    于是再改為下面的這樣:

    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的,然后進行對比,并且利用where進行篩選。

    后面也在網上找了這條:

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

    概念上與第二條同理。

    好吧! 回顧了一下left join

    SQL LEFT JOIN 關鍵字

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

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: MySQL
    主站蜘蛛池模板: 成人在线观看不卡 | 欧美亚洲国产精品久久高清 | 久久精品国产亚洲精品2020 | 亚洲精彩 | 亚洲国产片在线观看 | 免费观看国产网址你懂的 | 国产色在线播放 | 国产美女一区二区在线观看 | 成人国产亚洲欧美成人综合网 | 美女很黄很黄 | 亚洲精品亚洲人成毛片不卡 | 欧美精品专区55页 | 国产高清精品在线 | 免费观看欧美成人禁片 | 在线观看视频亚洲 | 看真人一级毛片 | 久久狠狠一本精品综合网 | 亚洲自偷自拍另类12p | 亚洲综合色dddd26 | 性欧美17一18sex性高清播放 | 国产亚洲欧美日韩在线观看不卡 | 久久精品国产400部免费看 | 日本无卡码免费一区二区三区 | 分享一个无毒不卡免费国产 | 亚洲九九香蕉 | 欧美高清一区 | 精品久久久久久久九九九精品 | 成年免费a级毛片 | 亲子乱子伦xxxx | 国产丝袜美腿高跟白浆 | 日韩a一级欧美一级 | 国产精品久久久香蕉 | 精品成人一区二区三区免费视频 | 99视频在线观看视频一区 | 成人网久久 | 精品欧美一区二区在线观看欧美熟 | 国产一级特黄全黄毛片 | 手机看片久久青草福利盒子 | 中文字幕日韩三级 | 亚洲精品视频在线观看视频 | 一级做a爱过程免费视频麻豆 |