首頁 > 軟體

mysql中關鍵詞exists的用法範例詳解

2022-06-10 14:03:36

前言

在日常開發中,用mysql進行查詢的時候,有一個比較少見的關鍵詞exists,我們今天來學習瞭解一下這個exists這個sql關鍵詞的用法,這樣在工作中遇到一些特定的業務場景就可以有更加多樣化的解決方案

語法解釋

語法

SELECT column1 FROM t1 WHERE [conditions] and EXISTS (SELECT * FROM t2 );

說明

括號中的子查詢並不會返回具體的查詢到的資料,只是會返回true或者false,如果外層sql的欄位在子查詢中存在則返回true,不存在則返回false
即使子查詢的查詢結果是null,只要是對應的欄位是存在的,子查詢中則返回true,下面有具體的例子

執行過程

1、首先進行外層查詢,在表t1中查詢滿足條件的column1

2、接下來進行內層查詢,將滿足條件的column1帶入內層的表t2中進行查詢,

3、如果內層的表t2滿足查詢條件,則返回true,該條資料保留

4、如果內層的表t2不滿足查詢條件,則返回false,則刪除該條資料

5、最終將外層的所有滿足條件的資料進行返回

貼個連結,mysql官方對於這個命令的說明: https://dev.mysql.com/doc/refman/8.0/en/exists-and-not-exists-subqueries.html;喜歡看英文原版說明的可以來這裡看一下

使用案例

環境準備


IT145.com E-mail:sddin#qq.com