কম্পিউটার

আমরা কিভাবে সাবকোয়ারিগুলিকে ডান যোগদানে রূপান্তর করতে পারি?


এটি বোঝার জন্য আমরা নিম্নলিখিত টেবিলের ডেটা ব্যবহার করছি -

mysql> Select * from Customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (0.00 sec)

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 |
+------+------------+
5 rows in set (0.00 sec)

এখন, নিম্নলিখিতটি একটি সাবকোয়ারি যা সমস্ত গ্রাহকদের নাম খুঁজে পাবে যাদের কোনো গাড়ি রিজার্ভ করতে হবে না৷

mysql> Select Name from customers where customer_id NOT IN (Select id From reserve);
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

এখন, নিম্নলিখিত পদক্ষেপগুলির সাহায্যে, আমরা উপরের সাবকোয়েরিটিকে ডান যোগদানে রূপান্তর করতে পারি -

  • সাবকোয়ারিতে নাম দেওয়া 'গ্রাহক' টেবিলটিকে FROM ক্লজে নিয়ে যান এবং ডান যোগদান ব্যবহার করে 'রিজার্ভ'-এ যোগ দিন।

  • WHERE ক্লজ গ্রাহক_আইডি কলামটিকে সাবকোয়েরি থেকে প্রত্যাবর্তিত আইডিগুলির সাথে তুলনা করে। তাই FROM ক্লজে দুটি টেবিলের আইডি কলামের মধ্যে IN এক্সপ্রেশনটিকে একটি স্পষ্ট সরাসরি তুলনাতে রূপান্তর করুন।

  • WHERE ক্লজে, 'রিজার্ভ' টেবিলে NULL থাকা সেই সারিগুলিতে আউটপুট সীমাবদ্ধ করুন।

mysql> SELECT Name from reserve RIGHT JOIN customers ON customer_id = Id WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

  1. আমি কিভাবে পাইথন টিপলকে সি অ্যারেতে রূপান্তর করতে পারি?

  2. আমি কিভাবে একটি পাইথন নামের টিপলকে একটি অভিধানে রূপান্তর করতে পারি?

  3. আমি কিভাবে একটি পাইথন টিপলকে স্ট্রিং এ রূপান্তর করতে পারি?

  4. কিভাবে আমরা পাইথনে একটি স্ট্রিং মধ্যে অক্ষর একটি তালিকা রূপান্তর করতে পারি?