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

MySQL সাবকোয়েরিতে EXISTS এবং NOT EXISTS অপারেটরের ব্যবহার

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 |
+----------+

এই কোয়েরি রিজারভেশন না করে থাকা কাস্টমারদের নাম দেখায়।

  1. MySQL-এ AND অপারেটর দিয়ে UPDATE করা

  2. টেবিল না থাকলে তৈরি করে একই কোয়েরিতে রেকর্ড ইনসার্ট করার MySQL পদ্ধতি

  3. MySQL-এ UPDATE স্টেটমেন্টে AND লজিক্যাল অপারেটর ব্যবহার

  4. MySQL-এ != NULL এবং IS NOT NULL-এর পার্থক্য