首頁  >  文章  >  資料庫  >  MySQL中關於exists和not exists的範例分享

MySQL中關於exists和not exists的範例分享

黄舟
黄舟原創
2017-07-30 13:38:351695瀏覽

這篇文章主要介紹了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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn