Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ประเมินอย่างไรว่าเราใช้ตัวดำเนินการ EXISTS กับแบบสอบถามย่อยที่คืนค่า NULL


หากเคียวรีย่อย ใช้กับตัวดำเนินการ EXIST ส่งกลับค่า NULL นิพจน์ EXIST NULL จะคืนค่า TRUE และ MySQL ส่งคืนผลลัพธ์ตามการสืบค้นภายนอก สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างง่ายๆ โดยใช้ข้อมูลต่อไปนี้จากตาราง 'ลูกค้า' -

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)