mysql查詢兩個表之間的差集

2021-08-14 03:30:18 字數 676 閱讀 2871

需要查兩個表之間的差集

首先,想到的是主鍵直接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 t1

on co_user.mailbox_id= t1.i where t1.i is null;

概念上與第二條同理。

Oracle 如何獲取兩個表的差集

我有兩張表,客戶表和合同表 客戶表是穩定的,不常變化的,基本沒有時間限制 而合同表示不穩定的,有過期時間的 如果時間過期,則合同表作廢,使用邏輯刪除,將其失效 這時候,我有乙個需求,就是獲取客戶表中,沒有簽合同的客戶資訊 首先,我們要知道,求兩張表是否有交,並,差,一定要使用至少1個關鍵字段來關聯,...

兩個List取差集

兩個物件list,直接比較是不行的,因為他們存的位址不一樣 需要重寫gethashcode 與equals object obj 方法告訴電腦 public class model public string name public override intgethashcode public ov...

比較兩個檔案的差集

比較兩個檔案的差集,並匯出檔案到difference.txt中 1.已存在要比較的兩個檔案,分別為a.txt和b.txt,要找出兩檔案的差集 屬於a.txt但不屬於b.txt 介面3 2.最終輸出結果並匯入difference.txt檔案 我是利用set包 另外也可以通過map實現 實現如下 比較兩...