sql not in 與not exists使用中的細微差別
上面兩個簡單的Sql,我們從表面理解,查詢的最終結(jié)果應(yīng)該是一樣的,但實際結(jié)果卻和我們想象的不一樣
第一條sql查詢的結(jié)果有一條數(shù)據(jù)
第二條sql查詢的結(jié)果卻為空
原因:
not exists的子查詢,對于子查詢不返回行和子查詢返回行的查詢結(jié)果是有區(qū)別的
這些細小的差別千萬不要被我們所忽視,一旦項目龐大了,想跟蹤到具體的錯誤所花費的時間也是可觀的。盡量把這些不必要的錯誤扼殺在搖籃里。
啰嗦了,呵呵。
上面兩個簡單的Sql,我們從表面理解,查詢的最終結(jié)果應(yīng)該是一樣的,但實際結(jié)果卻和我們想象的不一樣
第一條sql查詢的結(jié)果有一條數(shù)據(jù)
第二條sql查詢的結(jié)果卻為空
原因:
not exists的子查詢,對于子查詢不返回行和子查詢返回行的查詢結(jié)果是有區(qū)別的
這些細小的差別千萬不要被我們所忽視,一旦項目龐大了,想跟蹤到具體的錯誤所花費的時間也是可觀的。盡量把這些不必要的錯誤扼殺在搖籃里。
啰嗦了,呵呵。
- sql語句優(yōu)化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句
- MySQL: mysql is not running but lock exists 的解決方法
- mysql insert if not exists防止插入重復(fù)記錄的方法
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- mysql not in、left join、IS NULL、NOT EXISTS 效率問題記錄
- Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問題
- SQL中NOT IN與NOT EXISTS不等價的問題
相關(guān)文章
Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件
這篇文章主要介紹了Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件的相關(guān)資料,需要的朋友可以參考下2021-10-10
MSSQL 監(jiān)控數(shù)據(jù)/日志文件增長實現(xiàn)方法
今天就想實現(xiàn)這么一個功能,每天(頻率可以調(diào)整)去收集一下數(shù)據(jù)文件的信息,放到一個表里面,這樣方便我們分析數(shù)據(jù)文件的增長演變例程,甚至你可以將數(shù)據(jù)文件的增長幅度和業(yè)務(wù)變化關(guān)聯(lián)起來分析2013-08-08
SQLServer設(shè)置客戶端使用IP地址登錄的圖文詳解
這篇文章主要介紹了SQLServer設(shè)置客戶端使用IP地址登錄的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常想詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
SQL?Server數(shù)據(jù)表模糊查詢(like用法)以及查詢函數(shù)詳解
使用SQL Server查詢時經(jīng)常會使用模糊查詢,需要查詢包含的指定字符串內(nèi)容,這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)表模糊查詢(like用法)以及查詢函數(shù)的相關(guān)資料,需要的朋友可以參考下2024-05-05
SQL Server 創(chuàng)建約束圖解(唯一 主鍵)
SQLServer中有五種約束,Primary Key約束、Foreign Key約束、Unique約束、Default約束和Check約束,今天使用SQL Server2008來演示下這幾種約束的創(chuàng)建和使用的方法2016-07-07
MsSQL數(shù)據(jù)導(dǎo)入到Mongo的默認編碼問題(正確導(dǎo)入Mongo的方法)
今天進行了一個實驗來驗證數(shù)據(jù)導(dǎo)入到mongo的效率問題,但是期間出現(xiàn)了默認編碼問題,下面看一下正確的方法2013-11-11
Sql Server數(shù)據(jù)遷移的實現(xiàn)場景及示例
在 SQL Server 中,數(shù)據(jù)遷移是常見的場景之一,本文主要介紹了Sql Server數(shù)據(jù)遷移的實現(xiàn)場景及示例,具有一定的參考價值,感興趣的可以了解一下2024-04-04

