數據庫查詢語句(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函數裏的連接就成立。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章