SQL中EXCEPT和Not in的區別?

2021-05-05 03:33:23 字數 370 閱讀 1907

except會去重複, not in 不會(除非你在select中顯式指定)

except用於比較的列是所有列, 除非寫子查詢限制列, not in 沒有這種情況

表tb2中如果有null值的話,not in查詢得不到值(如:a、b)

表tb1中如果有null值,not in不會查詢出這個null值(如:d),而except可以查詢到

當然通過對子查詢指定不為null的話,not in自然會得到值,如:

select * from tb1 where id not in(select id from tb2 where id is not null);

這裡是需要注意的,如果你的字段執行為null,又欲使用not in那麼就需要這麼做

SQL中EXCEPT和Not in的區別

初始化兩張表 create table tb1 id int insert tb1 select null union all select null union all select null union all select 1 union all select 2 union all sele...

SQL中EXCEPT和Not in的區別?

初始化兩張表 create table tb1 id int insert tb1 select null union all select null union all select null union all select 1 union all select 2 union all sele...

Python中except用法和作用

python的except用來捕獲所有異常,因為python裡面的每次錯誤都會丟擲 乙個異常,所以每個程式的錯誤都被當作乙個執行時錯誤。以下是使用except的乙個例子 try foo opne file open被錯寫為opne except sys.exit could not open fil...