কম্পিউটার

মাইএসকিউএল সাবকোয়ারি এবং এর সাধারণ বিভাগগুলি কী কী?


একটি সাবকোয়েরি একটি প্রশ্নের মধ্যে একটি কোয়েরি হিসাবে সর্বোত্তমভাবে সংজ্ঞায়িত করা হয়৷ সাবকোয়েরিগুলি আপনাকে এমন প্রশ্নগুলি লিখতে সক্ষম করে যেগুলি মাপদণ্ডের জন্য ডেটা সারিগুলি নির্বাচন করে যা প্রকৃতপক্ষে বিকশিত হয় যখন ক্যোয়ারী রানটাইমে কার্যকর হয়। আরও আনুষ্ঠানিকভাবে, এটি অন্য SELECT স্টেটমেন্টের একটি ধারার ভিতরে একটি SELECT স্টেটমেন্টের ব্যবহার। প্রকৃতপক্ষে, একটি সাবকোয়েরি অন্য একটি সাবকোয়েরির ভিতরে থাকতে পারে, যা অন্য সাবকোয়েরির ভিতরে থাকে এবং আরও অনেক কিছু। একটি সাবকোয়েরি INSERT, UPDATE, এবং DELETE স্টেটমেন্টের মধ্যেও নেস্ট করা যেতে পারে। সাবকোয়ারি অবশ্যই বন্ধনীর মধ্যে আবদ্ধ থাকতে হবে।

একটি সাবকোয়েরি যে কোনও জায়গায় ব্যবহার করা যেতে পারে যেখানে একটি অভিব্যক্তি অনুমোদিত হয় তবে এটি একটি একক মান প্রদান করে৷ এর মানে হল যে একটি সাবকোয়েরি যা একটি একক মান প্রদান করে তাকে একটি FROM ক্লজ তালিকায় একটি অবজেক্ট হিসাবে তালিকাভুক্ত করা যেতে পারে। এটিকে একটি ইনলাইন ভিউ বলা হয় কারণ যখন একটি সাবকোয়েরি একটি FROM ক্লজের অংশ হিসাবে ব্যবহার করা হয়, তখন এটি একটি ভার্চুয়াল টেবিল বা ভিউ হিসাবে বিবেচিত হয়। একটি সাবকোয়েরি হয় FROM clause, WHERE clause বা HAVING clause-এ স্থাপন করা যেতে পারে। এটিকে একটি INNER QUERY বা INNER SELECTও বলা হয় এবং যে কোয়েরিটিতে সাবকুয়েরি থাকে তাকে বলা হয় OUTER QUERY বা OUTER SELECT বা CONTAINER QUERY। নিম্নোক্ত হল এর সাধারণ বিভাগ −

স্কেলার সাবকোয়েরি

স্কেলার সাবকোয়েরিগুলি একটি একক মান প্রদান করে যেমন একটি সারি ডেটার একটি কলাম সহ৷ একটি স্কেলার সাবকোয়েরি একটি সাধারণ অপারেন্ড এবং আমরা এটি প্রায় যে কোনও জায়গায় ব্যবহার করতে পারি যেখানে একটি একক কলাম বা আক্ষরিক বৈধ। এটিকে ব্যাখ্যা করার জন্য আমরা 'কার', 'গ্রাহক' এবং 'রিজার্ভেশন' টেবিলগুলি ব্যবহার করছি যাতে নিম্নলিখিত ডেটা রয়েছে −

mysql> গাড়ি থেকে * নির্বাচন করুন;+------+---------------+---------+| আইডি | নাম | মূল্য |+------+---------------+---------+| 1 | নেক্সা | 750000 || 2 | মারুতি সুইফট | 450000 || 3 | BMW | 4450000 || 4 | ভলভো | 2250000 || 5 | অল্টো | 250000 || 6 | স্কোডা | 1250000 || 7 | টয়োটা | 2400000 || 8 | ফোর্ড | 1100000 |+------+---------------+---------+8 সারি সেটে (0.02 সেকেন্ড)mysql> গ্রাহকদের থেকে * নির্বাচন করুন; +---------------+---------+| গ্রাহক_আইডি | নাম |+------------+---------+| 1 | রাহুল || 2 | যশপাল || 3 | গৌরব || 4 | বীরেন্ডার |+------------+------------ সেটে 4 সারি (0.00 সেকেন্ড) mysql> সংরক্ষণ থেকে * নির্বাচন করুন;+------ +---------------+------------+| আইডি | গ্রাহক_আইডি | দিন |+------+-------------+------------+| 1 | 1 | 2017-12-30 || 2 | 2 | 2017-12-28 || 3 | 2 | 2017-12-29 || 4 | 1 | 2017-12-25 || 5 | 3 | 2017-12-26 |+------+------------+------------+5 সারি সেটে (0.00 সেকেন্ড) 

যেমন আমরা জানি যে স্কেলার সাবকোয়েরি একটি একক মান প্রদান করবে, নিম্নলিখিতটি একটি স্কেলার সাবকোয়েরি -

mysql> গ্রাহকদের থেকে নাম নির্বাচন করুন WHERE Customer_id =(রিজার্ভেশন থেকে Customer_id নির্বাচন করুন WHERE ID =5);+---------+| নাম |+---------+| গৌরব |+---------+1 সারি সেটে (0.06 সেকেন্ড)

সারণী সাবকোয়েরি

একটি টেবিল সাবকোয়েরি ডেটার এক বা একাধিক কলাম ধারণকারী এক বা একাধিক সারি সহ একটি ফলাফল প্রদান করে৷ সারণী 'কার', 'গ্রাহক' এবং 'সংরক্ষণ' থেকে ডেটা ব্যবহার করে নিম্নলিখিত প্রশ্নটি টেবিল সাবকোয়েরির একটি উদাহরণ -

mysql> গ্রাহকদের থেকে নাম নির্বাচন করুন যেখানে Customer_id IN (রিজার্ভেশন থেকে আলাদা Customer_id নির্বাচন করুন);+---------+| নাম |+---------+| রাহুল || যশপাল || গৌরব |+---------+3 সারি সেটে (0.05 সেকেন্ড)

সম্পর্কিত সাবকোয়েরি

একটি পারস্পরিক সম্পর্কযুক্ত সাবকোয়েরি হল একটি সাবকোয়েরি যা তার WHERE ক্লজে বাইরের ক্যোয়ারী থেকে মান ব্যবহার করে। টেবিল 'কার' থেকে ডেটা ব্যবহার করে নিম্নলিখিত ক্যোয়ারীটি একটি পারস্পরিক সম্পর্কযুক্ত সাবকোয়েরির উদাহরণ -

mysql> গাড়ি থেকে নাম নির্বাচন করুন যেখানে দাম <(গাড়ি থেকে AVG(মূল্য) নির্বাচন করুন);+---------------+| নাম |+---------------+| নেক্সা || মারুতি সুইফট || অল্টো || স্কোডা || ফোর্ড |+-------------+5 সারি সেটে (0.00 সেকেন্ড) mysql> গাড়ি থেকে নাম নির্বাচন করুন যেখানে দাম> (গাড়ি থেকে AVG(মূল্য) নির্বাচন করুন);+------ ----+| নাম |+---------+| BMW || ভলভো || টয়োটা |+-------+3 সারি সেটে (0.00 সেকেন্ড)

  1. MySQL-এ BLOB এবং TEXT ডেটাটাইপের মধ্যে পার্থক্য কী?

  2. MySQL 8.0 এ কোন বিকল্প এবং ভেরিয়েবল চালু করা হয়েছে?

  3. একটি উইন্ডোজ ডোমেন কি এবং এর সুবিধা কি?

  4. ডিস্ক ক্লিনআপ কী এবং এর সুবিধাগুলি কী?