1. 程式人生 > >not in 如何轉化left join on提交效率

not in 如何轉化left join on提交效率

以下是一個轉換事例:

第一個樣例:

select * from BUS_GG br WHERE 1 = 1 AND br.id NOT IN (SELECT RECEIVER_ID FROM SYS_GG);
       
select * from BUS_GG br left join SYS_GG k  on br.id = k.RECEIVER_ID where  k.RECEIVER_ID is null

第二個樣例:

select * from BUS_CHANNEL br WHERE 1 = 1 AND br.CHANNEL_ID NOT IN (SELECT CHANNEL_ID FROM BUS_CHANNEL_PARAMETER where CHANNEL_ID=24);
       
select * from BUS_CHANNEL br left join BUS_CHANNEL_PARAMETER k  on br.CHANNEL_ID = k.CHANNEL_ID and k.CHANNEL_ID=24 where  k.CHANNEL_ID is null;

LEFT JOIN ON WHERE:在臨時表生成後,再對臨時表的資料進行過濾,再返回左表。

LEFT JOIN ON AND:在臨時表生成的過程時,ON中的條件不管是否為真,都將返回左表。