কম্পিউটার

আমরা কিভাবে মাইএসকিউএল ইন্টারসেক্ট ক্যোয়ারীকে যেখানে ক্লজ সহ অনুকরণ করতে পারি?


যেহেতু আমরা মাইএসকিউএল-এ ইন্টারসেক্ট ক্যোয়ারী ব্যবহার করতে পারি না, তাই ইন্টারসেক্ট ক্যোয়ারী সিমুলেট করতে আমরা IN অপারেটর ব্যবহার করব। এটা নিচের উদাহরণের সাহায্যে বোঝা যাবে −

উদাহরণ

এই উদাহরণে, আমরা ছাত্র_বিশদ এবং ছাত্র_তথ্য নামক দুটি টেবিলে নিম্নলিখিত ডেটা রয়েছে −

mysql> Select * from Student_detail;
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|       101 | YashPal | Amritsar   | History    |
|       105 | Gaurav  | Chandigarh | Literature |
|       130 | Ram     | Jhansi     | Computers  |
|       132 | Shyam   | Chandigarh | Economics  |
|       133 | Mohan   | Delhi      | Computers  |
|       150 | Rajesh  | Jaipur     | Yoga       |
|       160 | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

mysql> Select * from Student_info;
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|       101 | YashPal   | Amritsar   | History     |
|       105 | Gaurav    | Chandigarh | Literature  |
|       130 | Ram       | Jhansi     | Computers   |
|       132 | Shyam     | Chandigarh | Economics   |
|       133 | Mohan     | Delhi      | Computers   |
|       165 | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

এখন, WHERE ক্লজ সহ IN অপারেটর ব্যবহার করে নিম্নলিখিত ক্যোয়ারীটি উভয় টেবিলে বিদ্যমান 130-এর থেকে বেশি সমস্ত 'ছাত্রের' মান ফেরত দিতে INTERSECT সিমুলেট করবে -

mysql> Select Student_detail.studentid FROM Student_detail WHERE student_detail.studentid >130 AND student_detail.studentid IN(SELECT Student_info.studentid FROM Student_info WHERE Student_detail.studentid > 0);
+-----------+
| studentid |
+-----------+
|       132 |
|       133 |
+-----------+
2 rows in set (0.00 sec)

  1. MySql-এ সাবকোয়েরির মতো একই প্রশ্ন না লিখে কীভাবে প্রকৃত সারি গণনা (COUNT(*)) WHERE ক্লজে ব্যবহার করবেন?

  2. কিভাবে একটি MySQL সন্নিবেশ বিবৃতিতে একটি যেখানে ক্লজ যোগ করবেন?

  3. আমরা কি MySQL WHERE ক্লজে একটি SUM() ফাংশনের ফলাফল ব্যবহার করতে পারি?

  4. কিভাবে একটি অ্যাক্সেস ডাটাবেসের সাথে LIMIT MySQL ধারা অনুকরণ করবেন?