方法一(僅適用單個字段)
使用 not in ,容易理解,效率低
select a.id from a where a.id not in (select id from b)
方法二(適用多個字段匹配)
使用 left join...on... , "b.id isnull" 表示左連線之後在b.id 欄位為 null的記錄
select a.id from a left join b on a.id=b.id where b.id is null
方法三(適用多個字段匹配)(速度最快)
select * from b where (select count(1) as num from a where a.id = b.id) = 0
方法四(適用多個字段匹配)
select * from a where not exists(select 1 from b where a.id=b.id)
MYSQL查詢 存在乙個表而不在另乙個表中的資料
a b兩表,找出id欄位中,存在a表,但是不存在b表的資料。a表總共13w資料,去重後大約3w條資料,b表有2w條資料,且b表的id欄位有索引。使用 not in 容易理解,效率低 執行時間為 1.395秒...
MYSQL查詢 存在乙個表而不在另乙個表中的資料
a b兩表,找出id欄位中,存在a表,但是不存在b表的資料。a表總共13w資料,去重後大約3w條資料,b表有2w條資料,且b表的id欄位有索引。使用 not in 容易理解,效率低 執行時間為 1.395秒 select distinct a.id from a where a.id not in ...
MYSQL查詢 存在乙個表而不在另乙個表中的資料
a b兩表,找出id欄位中,存在a表,但是不存在b表的資料。a表總共13w資料,去重後大約3w條資料,b表有2w條資料,且b表的id欄位有索引。使用 not in 容易理解,效率低 執行時間為 1.395秒 1 select distinct a.id from a where a.id not i...