not exists是sql中的一個語法,常用在子查詢和主查詢之間,用於條件判斷,根據一個條件返回一個布林值,從而來確定下一步操作如何進行,not exists也是exists或in的對立面。
not exists 是exists的對立面,所以要了解not exists的用法,我們先了解下exists、in的差異和特點:
exists : 強調的是是否返回結果集,不要求知道返回什麼, 例如:
select name from student where sex = 'm' and mark exists(select 1 from grade where ...)
只要exists引導的子句有結果集返回,那麼exists這個條件就算成立了,大家注意返回的字段總是1,如果改成“select 2 from grade where ...”,那麼傳回的欄位就是2,這個數字沒有意義。所以exists子句不在乎回傳什麼,而是在乎是不是有結果集回傳。
而exists 與in 最大的區別在於in引導的子句只能返回一個字段,例如:
select name from student where sex = 'm' and mark in (select 1,2,3 from grade where ...)
in子句返回了三個字段,這是不正確的,exists子句是允許的,但in只允許有一個字段返回,在1,2,3中隨便去了兩個字段。
而not exists 和not in 分別是exists 和 in 的 對立面。
exists (sql 返回结果集,为真)
主要看exists括號中sql語句的結果是否有結果,有結果:才會繼續執行where條件;沒結果:視為where條件不成立。
not exists (sql 不返回结果集,为真)
主要看not exists括號中的sql語句是否有結果,無結果:才會繼續執行where條件;有結果:視為where條件不成立。
not exists:經過測試,當子查詢和主查詢有關聯條件時,相當於從主查詢中去掉子查詢的資料。
例如:
test資料:id name
1 e
select * from test c where not exists (select 1 from test t where t.id= '1' ) --无结果
以上是not exists用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境