ডাটাবেসের প্রেক্ষাপটে একটি "সাবকোয়েরি" একটি অত্যন্ত দরকারী এবং শক্তিশালী ধারণা, বিশেষ করে স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ (SQL) অপারেশনের ক্ষেত্রে, যা আধুনিক ডাটাবেস ম্যানেজমেন্ট সিস্টেমের (DBMS) মূলে রয়েছে। একটি সাবকোয়েরি, যা নেস্টেড ক্যোয়ারী বা অভ্যন্তরীণ ক্যোয়ারী নামেও পরিচিত, এটি একটি কোয়েরি যা অন্য কোয়েরির মধ্যে এমবেড করা হয়, সাধারণত বন্ধনীর মধ্যে আবদ্ধ থাকে। এটি একাধিক টেবিল থেকে ডেটা পুনরুদ্ধার এবং ম্যানিপুলেশন করার অনুমতি দেয়, যার ফলে জটিল এবং জটিল ডেটা অপারেশনগুলি কার্যকরভাবে এবং দক্ষতার সাথে সম্পাদন করা যায়।
SELECT, INSERT, UPDATE, DELETE, এবং অন্যান্য স্টেটমেন্ট সহ বিভিন্ন SQL ক্রিয়াকলাপের মধ্যে Subqueries অন্তর্ভুক্ত করা যেতে পারে এবং WHERE, HAVING, FROM এবং অন্যান্যদের মত বিভিন্ন SQL ধারার সাথে একত্রে নিযুক্ত করা যেতে পারে। এগুলি বিশেষভাবে কার্যকর যখন একটি একক প্রশ্ন দক্ষতার সাথে জটিল ডেটা নির্বাচন বা ফিল্টারিং প্রয়োজনীয়তাগুলি পরিচালনা করতে পারে না। একটি সাবকোয়েরির ফলাফল হয় একটি একক মান (স্কেলার), একটি একক সারি বা কলাম (সারি বা কলাম সাবকোয়েরি), অথবা একটি টেবিল (টেবিল সাবকোয়েরি) হতে পারে।
অ্যাপমাস্টার no-code প্ল্যাটফর্মের প্রেক্ষাপটে, সাবকোয়েরিগুলি বিস্তৃত ডেটা মডেল এবং ব্যবসায়িক লজিক ডিজাইন এবং বাস্তবায়নের জন্য কাজ করা ব্যবহারকারীদের জন্য একটি অমূল্য সম্পদ হতে পারে, এই কারণে যে সাবকোয়েরিগুলির একটি বিস্তৃত বোঝা জেনারেট করা অ্যাপ্লিকেশনগুলির দক্ষতা এবং মাপযোগ্যতা বৃদ্ধিতে অবদান রাখতে পারে। AppMaster প্ল্যাটফর্ম, যা ছোট ব্যবসা থেকে শুরু করে বৃহৎ উদ্যোগ পর্যন্ত ব্যবহারকারীদের পূরণ করে, ভাল-গঠিত সাবকোয়ারিগুলি অন্তর্ভুক্ত করে উল্লেখযোগ্যভাবে উপকৃত হতে পারে, কারণ এটি আরও গতিশীল এবং অভিযোজিত অ্যাপ্লিকেশন সক্ষম করে যা নির্দিষ্ট ব্যবসার প্রয়োজনীয়তা এবং যুক্তি পূরণ করতে পারে।
বাইরের ক্যোয়ারী এবং অভ্যন্তরীণ ক্যোয়ারীগুলির মধ্যে সম্পর্কের উপর নির্ভর করে সাবকোয়ারিগুলিকে পারস্পরিক সম্পর্কযুক্ত বা অ-সম্পর্কিত হিসাবে শ্রেণীবদ্ধ করা যেতে পারে। একটি পারস্পরিক সম্পর্কযুক্ত সাবকুয়েরি হল এমন একটি যেখানে সাবকোয়েরি তার কার্যকর করার জন্য বাইরের কোয়েরি থেকে ডেটার উপর নির্ভর করে, বাইরের কোয়েরির প্রতিটি প্রার্থীর সারির জন্য সাবকোয়েরি সম্পাদনের প্রয়োজন হয়। এটি সম্পদ-নিবিড় হতে পারে এবং সম্ভাব্যভাবে সিস্টেমকে ধীর করে দিতে পারে। বিপরীতভাবে, একটি অ-সম্পর্কিত সাবকুয়েরি বাইরের ক্যোয়ারী থেকে স্বাধীনভাবে কাজ করে এবং শুধুমাত্র একবার কার্যকর করা হয়, ফলাফলগুলি নিয়ে আসে যা বাইরের ক্যোয়ারী দ্বারা ব্যবহৃত হয়। পরেরটি সাধারণত পারস্পরিক সম্পর্কযুক্ত সাবকোয়েরির চেয়ে বেশি দক্ষ, তবে উভয় প্রকারেরই তাদের নির্দিষ্ট ব্যবহারের ক্ষেত্রে রয়েছে।
এখানে বিভিন্ন SQL স্টেটমেন্টে সাবকোয়েরির কয়েকটি উদাহরণ রয়েছে:
1. একটি subquery সহ বিবৃতি নির্বাচন করুন:
কলাম 1, কলাম 2 নির্বাচন করুন টেবিল থেকে 1 যেখানে কলাম 1 ইন (টেবিল 2 থেকে কলাম 1 নির্বাচন করুন);
এই উদাহরণে, সাবকোয়েরি টেবিল2 এর কলাম 1 থেকে মান পুনরুদ্ধার করে, এবং বাইরের ক্যোয়ারী টেবিল 1 থেকে সারি নির্বাচন করে যেখানে কলাম 1 এর মান সাবকোয়েরি দ্বারা পুনরুদ্ধার করা যেকোনো মানের সাথে মেলে।
2. একটি subquery সহ বিবৃতি আপডেট করুন:
আপডেট টেবিল 1 SET কলাম 1 = 'কিছু_মান' যেখানে কলাম 2 = ( টেবিল 1 থেকে MAX (কলাম 2) নির্বাচন করুন);
এই উদাহরণটি একটি UPDATE স্টেটমেন্টের WHERE ক্লজে একটি সাবকোয়েরির ব্যবহার প্রদর্শন করে, কলাম 2-এ সর্বাধিক মান সহ সারিটি নির্বাচন করে এবং এর কলাম 1 মান আপডেট করে।
3. একটি subquery সহ বিবৃতি INSERT:
সারণি 1 এর মধ্যে ঢোকান (কলাম 1, কলাম 2) কলাম 1, কলাম 2 নির্বাচন করুন টেবিল 2 থেকে যেখানে শর্ত;
এখানে, সাবকোয়েরি টেবিল2 থেকে ডেটা পুনরুদ্ধার করে এবং একটি নির্দিষ্ট শর্তের উপর ভিত্তি করে টেবিল 1-এ সন্নিবেশ করে।
4. একটি সাবকোয়েরি সহ বিবৃতি মুছুন:
টেবিল 1 থেকে মুছুন WHERE কলাম 1 IN ( table2 WHERE শর্ত থেকে কলাম 1 নির্বাচন করুন);
এই উদাহরণটি একটি শর্তের উপর ভিত্তি করে টেবিল 2 থেকে ডেটা আনার জন্য একটি সাবকোয়েরি ব্যবহার করে এবং পুনরুদ্ধার করা ডেটার সাথে মেলে টেবিল 1 থেকে সংশ্লিষ্ট সারিগুলি মুছে দেয়৷
5. একটি সম্পর্কযুক্ত সাবকোয়েরির সাথে নির্বাচন করুন বিবৃতি:
কলাম 1, কলাম 2 নির্বাচন করুন টেবিল 1 থেকে t1 যেখানে কলাম2 = (টেবিল1 থেকে MAX(কলাম2) নির্বাচন করুন t2 যেখানে t2.column1 = t1.column1);
এই পারস্পরিক সম্পর্কযুক্ত সাবকোয়েরি উদাহরণে, কলাম 1-এর বাইরের এবং ভিতরের প্রশ্নের মধ্যে সম্পর্কের ভিত্তিতে সাবকোয়েরি কলাম 2-এ সর্বাধিক মান পুনরুদ্ধার করে। বাইরের ক্যোয়ারী তারপর টেবিল 1 থেকে সারি নির্বাচন করে যা কলাম 2-এ এই সর্বোচ্চ মানটির সাথে মেলে।
সাবকোয়ারিগুলি ডাটাবেস ক্রিয়াকলাপে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, জটিল ডেটা ম্যানিপুলেশন এবং ফিল্টারগুলি সক্ষম করে যা একক প্রশ্ন ব্যবহার করে অন্যথায় অপ্রাপ্য হবে। সাবকোয়েরির শক্তিশালী ক্ষমতার ব্যবহার করে, AppMaster no-code প্ল্যাটফর্ম ব্যবহারকারীরা জটিল ডেটা মডেল এবং ব্যবসায়িক লজিক ডিজাইন এবং প্রয়োগ করতে পারে, অত্যন্ত দক্ষ এবং মাপযোগ্য অ্যাপ্লিকেশনগুলির বিকাশ নিশ্চিত করে যা বিভিন্ন ব্যবসায়ের প্রয়োজনীয়তা পূরণ করে। আধুনিক ডাটাবেস সিস্টেমের একটি অবিচ্ছেদ্য অংশ হিসাবে, সাবকোয়ারিগুলি পরিশীলিত ডেটা ক্রিয়াকলাপগুলিকে সহজতর করে চলেছে, যা আজকের প্রতিযোগিতামূলক সফ্টওয়্যার বিকাশের ল্যান্ডস্কেপে AppMaster মতো প্ল্যাটফর্মের সাফল্যের উপর ভিত্তি করে।