যে সাবকোয়েরি আউটার কোয়েরির টেবিলকে রেফারেন্স করে, সেটিকে কোরিলেটেড সাবকোয়েরি বলা হয়। এই কেসে MySQL ইনার কোয়েরি থেকে আউটার কোয়েরি দিকে ইভ্যালুয়েট করে। নিচে cars টেবিলের ডেটা ব্যবহার করে উদাহরণ:
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 | +------+--------------+---------+
দুটি কোরিলেটেড সাবকোয়েরি উদাহরণ:
mysql> Select Name from cars WHERE Price < (SELECT AVG(Price) from Cars); +--------------+ | Name | +--------------+ | Nexa | | Maruti Swift | | Alto | | Skoda | | Ford | +--------------+ mysql> Select Name from cars WHERE Price > (SELECT AVG(Price) from Cars); +--------+ | Name | +--------+ | BMW | | VOLVO | | Toyota | +--------+
ব্যাখ্যা: প্রথম কোয়েরিতে MySQL প্রথমে ইনার কোয়েরি SELECT AVG(Price) from Cars ইভ্যালুয়েট করে (গড় বের করে), তারপর আউটার কোয়েরিতে প্রতিটি রো চেক করে যে Price গড়ের চেয়ে কম কিনা। দ্বিতীয় কোয়েরিতেও একই প্যাটার্ন।