变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

東坡下載:內(nèi)容最豐富最安全的下載站!

首頁知識庫編程開發(fā) → SQL Server中not in查詢不準(zhǔn)確分析及解決方法

SQL Server中not in查詢不準(zhǔn)確分析及解決方法

相關(guān)文章發(fā)表評論 來源:本站整理時間:2017/11/25 9:17:11字體大小:A-A+

更多

作者:專題點(diǎn)擊:259次評論:0次標(biāo)簽: SQLServer

在SQL Server中,Null值并不是一個值,而是表示特定含義,其所表示的含義是“Unknow”,可以理解為未定義或者未知,因此任何與Null值進(jìn)行比對的二元操作符結(jié)果一定為Null,包括Null值本身。而在SQL Server中,Null值的含義轉(zhuǎn)換為Bool類型的結(jié)果為False。讓我們來看一個簡單的例子,如圖1所示。

圖1.Null值與任何值進(jìn)行對比結(jié)果都為Null

SQL Server提供了“IS”操作符與Null值做對比,用于衡量某個值是否為Null。

那么Not In 的問題在哪呢,如圖2所示。

   

圖2.Not In產(chǎn)生不準(zhǔn)確的值

在圖2中,條件3不屬于Not In后面列表的任意一個,該查詢卻不返回任何值,與預(yù)期的結(jié)果不同,那么具體原因就是Not In子句對于Null值的處理,在SQL Server中,圖2中所示的Not In子句其實(shí)可以等價轉(zhuǎn)換為如圖3所示的查詢。

圖3.對于Not In子句來說,可以進(jìn)行等價轉(zhuǎn)換

在圖3中可以看到Not In可以轉(zhuǎn)換為條件對于每個值進(jìn)行不等比對,并用邏輯與連接起來,而前面提到過Null值與任意其他值做比較時,結(jié)果永遠(yuǎn)為Null,在Where條件中也就是False,因此3<>null就會導(dǎo)致不返回任何行,導(dǎo)致Not In子句產(chǎn)生的結(jié)果在意料之外。

因此,Not In子句如果來自于某個表或者列表很長,其中大量值中即使存在一個Null值,也會導(dǎo)致最終結(jié)果不會返回任何數(shù)據(jù)。

解決辦法

解決辦法就是不使用Not In,而使用Not Exists作為替代。Exists的操作符不會返回Null,只會根據(jù)子查詢中的每一行決定返回True或者False,當(dāng)遇到Null值時,只會返回False,而不會由某個Null值導(dǎo)致整個子查詢表達(dá)式為Null。對于圖2中所示的查詢,我們可以改寫為子查詢,如圖4所示。

圖4.Not Exists可以正確返回結(jié)果

擴(kuò)展知識

相關(guān)評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
主站蜘蛛池模板: 免费羞羞网站视频 | 欧美激情综合亚洲一二区 | 日韩精品中文字幕一区二区三区 | 成人毛片免费观看视频 | 一个人www免费看的视频 | 巨胸喷奶水www久久久免费观看 | 黄色性情视频 | 国产视频福利一区 | 你懂的视频在线播放 | 亚洲精品福利网站 | www.男插女b免费视频 | 在线免费观看视频黄 | 一个人看的www播放高清 | 波多野结衣一区二区三区高清在线 | 成人h视频 | 日韩综合nv一区二区在线观看 | 亚洲欧美日韩综合久久久久 | 国产美女高清一级a毛片 | 欧美大胆性生话 | 久久99国产这里有精品视 | a级毛片蜜桃成熟时2在线播放 | 国产欧美在线播放 | 韩国理伦片最新免费观看 | 国产一区二区在线播放 | 国产一区2区 | 午夜日韩精品 | av成人在线播放 | 97人洗澡人人澡人人爽人人 | 日韩成人小视频 | 亚洲欧美日韩伦中文 | 最近的中文字幕2019更新 | 校园春色 自拍偷拍 | 青青青国产精品手机在线观看 | 欧美日韩亚洲一区 | 在线观看国产区 | 国内一级片 | 中国又粗又大又爽的毛片 | 国产成人乱码一区二区三区 | 2015xxx小明永久免费 | 国产乱人乱精一区二区视频密 | 特级淫片aaaaa片毛片 |