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

MySQL সাবকোয়েরি INNER JOIN-এ রূপান্তর করার পদ্ধতি

একই টেবিলগুলো ব্যবহার করে (customers, reserve) সাবকোয়েরি INNER JOIN-এ রূপান্তর:

mysql> Select * from customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
|           1 | Rahul    |
|           2 | Yashpal  |
|           3 | Gaurav   |
|           4 | Virender |
+-------------+----------+

mysql> Select * from reserve;
+------+------------+
| ID   | Day        |
+------+------------+
|    1 | 2017-12-30 |
|    2 | 2017-12-28 |
|    2 | 2017-12-25 |
|    1 | 2017-12-24 |
|    3 | 2017-12-26 |
+------+------------+

সাবকোয়েরি: রিজারভেশন করে থাকা কাস্টমার বের করা।

mysql> Select Name from customers WHERE customer_id IN (Select id from reserve);
+----------+
| Name     |
+----------+
| Rahul    |
| Yashpal  |
| Gaurav   |
+----------+

INNER JOIN-এ রূপান্তর:

  1. Reserve টেবিলকে FROM ক্লজে আনুন।
  2. WHERE ক্লজে customer_id কে id-এর সাথে সরাসরি তুলনা করুন (JOIN কন্ডিশন)।
mysql> SELECT Name from customers, reserve WHERE customer_id = id;
+----------+
| Name     |
+----------+
| Rahul    |
| Yashpal  |
| Yashpal  |
| Rahul    |
| Gaurav   |
+----------+

ফলাফলে ডুপ্লিকেট রো আছে (Yashpal, Rahul দুবার)। সেম রেজাল্ট পেতে DISTINCT ব্যবহার:

mysql> SELECT DISTINCT name from customers,reserve WHERE customer_id = id;
+----------+
| Name     |
+----------+
| Rahul    |
| Yashpal  |
| Gaurav   |
+----------+

ব্যাখ্যা: INNER JOIN শুধু ম্যাচিং রো রিটার্ন করে। কমা (,) জয়িন সিনট্যাক্স পুরনো স্টাইল, আধুনিক সিনট্যাক্স হলো INNER JOIN ... ON। DISTINCT ডুপ্লিকেট সরিয়ে সাবকোয়েরির মত একক রো নিশ্চিত করে।

  1. Matplotlib-এ সংখ্যাকে কালার স্কেলে কনভার্ট করার পদ্ধতি

  2. পাইথনে বাইটসকে স্ট্রিংএ কনভার্ট করা

  3. পাইথন টাপলকে স্ট্রিং-এ কনভার্ট কীভাবে করবেন?

  4. পাইথনে ক্যারেক্টার লিস্টকে স্ট্রিংয়ে রূপান্তর করার পদ্ধতি