這篇文章主要介紹了mysql exists與not exists實例詳解的相關資料,鑑於not exists 的效率往往要高於not in , 所以一般情況下會使用前者替代後者,需要的朋友可以參考下
mysql exists與not exists實例詳解
tableA
|column1 | column1 |column3 |
tableb
|column1 | column1 |column3 |
要查詢tableA 的資料,條件是是tableA.column1不在tableB 的tableB.column2 中
也就是要得到類似以下語句的效果(not in 效果不完全等同於not exists , 如果子查詢中出現空記錄, 則整個查詢語句不會回傳資料)
SELECT a.* FROM tableA a WHERE a.column1 not in ( SELECT column2 FROM tableB )
可以使用如下語句來實現
SELECT a.* FROM tableA a WHERE NOT EXISTS( SELECT b.column2 FROM tableB b WHERE a.colunm1=b.column2 )
以上只是兩張表的情況, 其實在多張表的連接查詢中也是比較好用的. 以上寫法同樣適用於exists
以上是MySQL中關於exists和not exists的範例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!