কম্পিউটার টিউটোরিয়াল

MySQL সাবকোয়েরিতে রেকর্ডের অস্তিত্ব টেস্ট করার জন্য EXISTS অপারেটর ব্যবহার

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 রিজার্ভেশন টেবিলে আছে)।

  1. MySQL ভিউর ডেফিনিশন দেখা (SHOW CREATE VIEW)

  2. MySQL-এ NULL-এর পরিবর্তে 0 ফেরত দেওয়ার উপায়

  3. MySQL-এ দিনের সংখ্যা গণনা করুন

  4. MySQL-এ CASE WHEN EXISTS দিয়ে রেকর্ডের উপস্থিতি চেক করে 'Present'/'Not Present' দেখানো