电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

MySQL如何實現兩張表取差集

瀏覽:252日期: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
    主站蜘蛛池模板: 环球周刊网| 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 土壤检测仪器_行星式球磨仪_土壤团粒分析仪厂家_山东莱恩德智能科技有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 至顶网| 许昌奥仕达自动化设备有限公司 | 东莞海恒试验仪器设备有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 中红外QCL激光器-其他连续-半导体连续激光器-筱晓光子 | 江苏皓越真空设备有限公司| 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 |