EXISTS অপারেটর সাবকোয়েরির রেজাল্ট সেটে রো রয়েছে কিনা তা টেস্ট করে। যদি সাবকোয়েরি রো রিটার্ন করে তবে EXISTS TRUE রিটার্ন করে আর NOT EXISTS FALSE রিটার্ন করে। নিচে Cars, Customers, Reservations টেবিলগুলো ব্যবহার করে ব্যাখ্যা করা হয়েছে:
mysql> Select * from Cars; +------+--------------+---------+ | ID | Name | Price | +------+--------------+---------+ | 1 | Nexa | 750000 | | 2 | Maruti Swift | 450000 | | 3 | BMW | 4450000 | | 4 | VOLVO | 2250000 | | 5 | Alto | 250000 | | 6 | Skoda | 1250000 | | 7 | Toyota | 2400000 | | 8 | Ford | 1100000 | +------+--------------+---------+ mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | | 3 | Gaurav | | 4 | Virender | +-------------+----------+ mysql> Select * from Reservations; +------+-------------+------------+ | ID | Customer_id | Day | +------+-------------+------------+ | 1 | 1 | 2017-12-30 | | 2 | 2 | 2017-12-28 | | 3 | 2 | 2017-12-29 | | 4 | 1 | 2017-12-25 | | 5 | 3 | 2017-12-26 | +------+-------------+------------+
EXISTS সাবকোয়েরি:
mysql> Select Name from customers WHERE EXISTS
(SELECT * FROM Reservations WHERE Customers.customer_id = Reservations.customer_id);
+---------+
| Name |
+---------+
| Rahul |
| Yashpal |
| Gaurav |
+---------+
এই কোয়েরি রিজারভেশন করে থাকা কাস্টমারদের নাম দেখায়।
NOT EXISTS সাবকোয়েরি:
mysql> Select Name from customers WHERE NOT EXISTS
(SELECT * FROM Reservations WHERE Customers.customer_id = Reservations.customer_id);
+----------+
| Name |
+----------+
| Virender |
+----------+
এই কোয়েরি রিজারভেশন না করে থাকা কাস্টমারদের নাম দেখায়।