কম্পিউটার

আমরা কিভাবে একটি সাবকোয়েরি ব্যবহার করতে পারি যাতে একটি টেবিলের একটি রেফারেন্স রয়েছে যা বাইরের ক্যোয়ারীতেও উপস্থিত হয়?


একটি সাবকোয়েরি যাতে একটি টেবিলের একটি রেফারেন্স থাকে যা বাইরের কোয়েরিতেও উপস্থিত থাকে তাকে একটি সম্পর্কযুক্ত সাবকোয়েরি বলে। এই ক্ষেত্রে, MySQL অভ্যন্তরীণ ক্যোয়ারী থেকে বাইরের কোয়েরি পর্যন্ত মূল্যায়ন করে। এটি বোঝার জন্য আমাদের কাছে টেবিল 'কার' -

থেকে নিম্নলিখিত ডেটা রয়েছে
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 |
+------+--------------+---------+
8 rows in set (0.02 sec)

নিম্নলিখিত দুটি MySQL ক্যোয়ারী যেখানে সাবকোয়ারি রয়েছে যাতে একটি টেবিলের রেফারেন্স থাকে যেমন 'কার' যা বাইরের ক্যোয়ারীতেও দেখা যায়।

mysql> Select Name from cars WHERE Price < (SELECT AVG(Price) from Cars);
+--------------+
| Name         |
+--------------+
| Nexa         |
| Maruti Swift |
| Alto         |
| Skoda        |
| Ford         |
+--------------+
5 rows in set (0.00 sec)

উপরের ক্যোয়ারীতে, MySQL অভ্যন্তরীণ ক্যোয়ারী থেকে মূল্যায়ন করে অর্থাৎ প্রথমে এটি মূল্যায়ন করে 'কার থেকে AVG(মূল্য) নির্বাচন করুন' ভিতরের ক্যোয়ারী এবং তারপর বাইরের ক্যোয়ারী মূল্যায়ন করে 'কার থেকে নাম নির্বাচন করুন যেখানে দাম <'। একইভাবে, MySQL নীচের প্রশ্নে মূল্যায়ন করে।

mysql> Select Name from cars WHERE Price > (SELECT AVG(Price) from Cars);
+--------+
| Name   |
+--------+
| BMW    |
| VOLVO  |
| Toyota |
+--------+
3 rows in set (0.00 sec)

  1. কিভাবে mysql এ একটি টেবিলের প্রাথমিক কী রিসেট করবেন?

  2. আমি কিভাবে MySQL এ বুলিয়ান মান আপডেট করতে পারি?

  3. কিভাবে MySQL CREATE TABLE ক্যোয়ারীতে CHAR_LENGTH() ব্যবহার করবেন?

  4. আমরা একটি MySQL টেবিলের জন্য শব্দ ব্যবহারকারী ব্যবহার করতে পারি?