MySQL EXISTS অপারেটর ব্যবহার করে সাবকোয়েরিতে কোনো রেকর্ড আছে কিনা টেস্ট করা যায়। অন্য কথায়, EXISTS চেক করে সাবকোয়েরি কমপক্ষে একটি রো রিটার্ন করছে কিনা।
সিনট্যাক্স
WHERE EXISTS (Subquery)
EXISTS (subquery) এক্সপ্রেশন TRUE রিটার্ন করে যদি সাবকোয়েরি কমপক্ষে একটি রো রিটার্ন করে, অন্যথায় FALSE।
উদাহরণ
Customers এবং Reservations টেবিল ব্যবহার:
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 | +---------+
এই কোয়েরি রিজারভেশন করে থাকা কাস্টমারদের নাম দেখায় (যাদের customer_id রিজার্ভেশন টেবিলে আছে)।