如果我們使用返回 NULL 的子查詢和 EXISTS 運算子,MySQL 如何對其進行求值?


如果與 EXIST 運算子一起使用子查詢返回 NULL,則表示式 EXIST NULL 返回 TRUE,並且 MySQL 根據外部查詢返回結果。藉助於使用以下資料從表“Customers”中使用簡單示例,可以理解它 -

mysql> Select * from Customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (0.00 sec)

下面的 MySQL 查詢以 EXIST 運算子的形式具有子查詢,返回 NULL。在這種情況下,表示式 EXIST NULL 返回 TRUE,因此結果集基於外部查詢。

mysql> SELECT Name from Customers Where EXISTS(Select NULL);
+----------+
| Name     |
+----------+
| Rahul    |
| Yashpal  |
| Gaurav   |
| Virender |
+----------+
4 rows in set (0.00 sec)

更新於: 2020-06-22

389 瀏覽次數

開啟你的 職業生涯

完成課程即可獲得認證

開始吧
廣告
© . All rights reserved.