exists關鍵字在 mysql 中的用法

2021-09-03 07:46:37 字數 559 閱讀 1563

原理以及與in關鍵字的區別:

in: 子查詢 >>> in 篩選 >>> 得到結果

exists: 主句查詢 >>> 根據exists 關鍵字中的條件從主句查詢結果中篩選符合條件的結果.

舉個例子:
表a

id name

1 a1

2 a2

3 a3

表bid aid name

1 1 b1

2 2 b2

3 2 b3

exists的sql :

select id,name from a where exists (select * from b where aid=a.id)

in 的sql :

select id,name from a where id in (select id from b where aid=a.id)

exists 是主查詢先查出,再拿子句中aid 去配主句查出來的表中的 a.id,符合條件的那條資料就留在結果集中.

mysql關鍵字 exists 與 in

在mysql中我們經常會使用到子查詢,而子查詢中裡面就會使用到in與exists。下面我們就來分析一下這兩個關鍵字。1.1 exists 在sql語句中出現exists關鍵字的時候,它先會對外表進行迴圈查詢並且查詢都會檢視exists條件語句是否符合條件。當exists裡的條件語句能夠返回記錄行時,...

SQL中IN與EXISTS關鍵字

偶遇這樣乙個場景,使用in關鍵字進行檢索資料所消耗的時間是使用exists關鍵字進行檢索資料所消耗的時間的接近30倍。一看差距這麼大,查閱了一本sql資料,其中也沒有介紹多少,不過我們可以從其定義中可以領悟到一些差異。1 in關鍵字 該操作符in用於把乙個值與乙個指定列表進行比較,當被比較的值至少與...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...