数据库查询语句(exists)

分配的任务,让我写两个查询语句,有点方,毕竟数据库只会简单的查询

幸好有强大的团队!

1.查询有多少个用户参加活动(涉及的表有marketing,marketing_success)

  marketing表有code='201601003'

   marketing_success 有 marketing_id

  做一个简单的左连接查询

select count(*)
from marketing_success ms left join
marketing m on ms.marketing_id=m.id
where m.code='201601003';


本来是

select count(*)
from marketing_success ms ,
marketing m
where m.code='201601003' and ms.marketing_id=m.id;

后来我一个同事看到之后很惊奇还有人这样写连接,好吧,虽然我知道左连接,但是基本上不会去用它,看来要改了这毛病


2.已经使用过优惠券的订单总数(purchase_order,purchase_order_gift,gift,marketing_success)

  gift(source==marketing_success.id,source_type=2)

  select count(*)
 from purchase_order_gift pog
 left join gift g
 on pog.gift=g.id
 where g.source_type=2 and exists (select 1 from marketing_success ms where g.source = ms.id and ms.marketing_id = 29) ;


查询第29和订单的使用优惠券的数量

如果存在exists这么一个活动的话,exists函数里的连接就成立。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值