not in 如何轉化left join on提交效率
阿新 • • 發佈:2019-01-30
以下是一個轉換事例:
第一個樣例:
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中的條件不管是否為真,都將返回左表。