如果 MySQL 使用在子查詢中返回 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 查詢具有返回 NULL 的 EXIST 運算子的子查詢。在這種情況下,表示式 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.