您当前的位置:首页>mysql频道>mysql中LEFT JOIN查询两个表的差集

mysql中LEFT JOIN查询两个表的差集

发布时间:2016-07-14 类型: mysql频道 编辑: 小猪迷

    今天在做一个微信墙的抽奖程序的时候遇到了一个问题,我需要查询量表的差集,业务情形是这样的

    一个表用来保存抽奖用户的(www.xiaozhumi.com   一个人可能会有多条数据),而另一张表保存的是中奖的用户,我需要报么有中奖的所用用户查找出来,刚开始用的是where进行多表关联查询,但是最终发现 当中奖表中么有数据的时候是查找不到任何信息的,改用LEFT  JOIN 用这个就很简单了,

    DESC  SELECT * FROM  `enet_wall_list` AS  l LEFT JOIN  `enet_wall_lottery` AS lottery ON l.openid =  lottery.openid WHERE l.weid =63 AND lottery.id IS NULL GROUP BY  l.openid

    左连接查询,查找相等的,如果没有的lottery表中会用NULL字段直接判断下就可以过滤一下数据了,然后得到需要的数据即可 。

    例子

    环境:A/B 两表为关联表。关联字段,pid。A表为主表,数据多于B表。现查询A表中存在,B表中不存在的数据

    SELECT  * FROM `A` a LEFT JOIN  `B`  b  ON a.`pid`=b.`pid` where b.`pid` IS NULL and  LENGTH(a.`pid`)<10

    讲述下以上SQL所用到的知识:

    1、LEFT JOIN ON : left join 左边的表为主表,主表中的每条数据都会显示。右边的表中如果没有数据,则表示为null

    2、LENGTH 计算字符串的长度

关键字词:mysql,LEFT JOIN差集

  • 没有评论哦,快来抢个沙发吧
小猪迷

                

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅小猪迷公众号。

234113618

用微信扫描二维码,
加入小猪迷 QQ 群。

mysql中LEFT JOIN查询两个表的差集-小猪迷PHP[xiaozhumi.com]

今天在做一个微信墙的抽奖程序的时候遇到了一个问题,我需要查询量表的差集,业务情形是这样的一个表用来保存抽奖用户的(www.xiaozhumi.com一个人可能会...

https://www.xiaozhumi.com/mysql/35.html