用where in遇到null時的解決方法1

2021-08-15 13:05:25 字數 603 閱讀 6994

參考:

1 :  

select

* from

華東 where

公司** in ( select 公司代 from 備選客戶 where 公司代 != '' and 公司代 is not null );

2:用exists替換

select

* from

華東 where

exists (

select

公司代 

from

備選客戶 where 華東.公司**=`備選客戶`.公司代);

3: in和exists一點區別

exists做為where 條件時,是先對where 前的主查詢詢進行查詢,然後用主查詢的結果乙個乙個的代入exists的查詢進行判斷,如果為真則輸出當前這一條主查詢的結果,否則不輸出。

in 是把外表和內錶作hash 連線,而exists是對外表作loop迴圈,每次loop迴圈再對內表進行查詢。一直以來認為exists比in效率高的說法是不準確的。

如果查詢的兩個表大小相當,那麼用in和exists差別不大。

如果兩個表中乙個較小,乙個是大表,則子查詢表大的用exists,子查詢錶小的用in:

用msn時遇到的問題

1 提示 服務暫時不可用 還說是防火牆阻止了連線 還有個號 80048883 圖 msn 登陸失敗.jpg 2 疑難問題解答程式,提示 閘道器顯示為離線 圖 msn message疑難解答對話方塊.jpg 3 選項 連線 連線狀態 提示 沒有連線到 net message web service 圖...

用Vue做專案時 遇到的坑

vue專案心得 1.用到了moment外掛程式 格式化時間.匯入格式化時間的外掛程式 1.import moment from moment 2.用到了過濾器 註冊全域性過濾器 vue.filter dateformat function datestr,pattern yyyy mm dd hh ...

mysql 查詢24小時內 資料,null用0代替

獲取24小時資料總數,但是當某乙個小時內沒有產生資料時,group by就篩選不出來那個時間段的資料,但實際需求是要用0代替。解決方法如下 select dayhour,if count is null,0,count from select count as count,date format c...