কম্পিউটার

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


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

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 ক্লজ গ্রাহক_আইডি কলামটিকে সাবকোয়েরি থেকে প্রত্যাবর্তিত আইডিগুলির সাথে তুলনা করে। তাই IN অভিব্যক্তিটিকে FROM ক্লজে দুটি টেবিলের আইডি কলামের মধ্যে একটি স্পষ্ট সরাসরি তুলনাতে রূপান্তর করুন৷
  • WHERE ক্লজে, 'রিজার্ভ' টেবিলে NULL থাকা সারিগুলিতে আউটপুট সীমাবদ্ধ করুন।
mysql> SELECT Name from customers LEFT JOIN reserve ON customer_id = Id WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)

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

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

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

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