একটি সাবকোয়েরি, যা নেস্টেড কোয়েরি বা অভ্যন্তরীণ ক্যোয়ারী নামেও পরিচিত, একটি এসকিউএল কোয়েরি যা রিলেশনাল ডাটাবেসের প্রেক্ষাপটে অন্য বৃহত্তর কোয়েরির মধ্যে এমবেড করা হয়। সাবকোয়ারিগুলি জটিল ডেটা পুনরুদ্ধার ক্রিয়াকলাপগুলিকে সহজতর করে এবং অন্যান্য প্রশ্নের ফলাফলগুলিকে কাজে লাগিয়ে ডেটা অনুসন্ধান, ফিল্টারিং এবং বাছাই করার ক্ষেত্রে আরও নমনীয়তার অনুমতি দেয়৷ সাবকোয়ারিগুলি বন্ধনীর মধ্যে আবদ্ধ থাকে এবং SELECT, FROM, WHERE, এবং HAVING clauses সহ বৃহত্তর SQL কোয়েরির বিভিন্ন অংশে উপস্থিত হতে পারে।
সাবকোয়ারিগুলি সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে অন্য প্রশ্নের ফলাফলের উপর ভিত্তি করে মধ্যবর্তী গণনা বা ফিল্টার ডেটা করা প্রয়োজন। রিলেশনাল ডাটাবেসের ক্ষেত্রে, একাধিক টেবিল জুড়ে ছড়িয়ে থাকা ডেটা অ্যাক্সেস করার জন্য সাবকোয়ারিগুলি প্রায়ই অপরিহার্য, বিশেষ করে যখন এই ডেটাগুলি বিভিন্ন সম্পর্ক এবং সীমাবদ্ধতার বিষয়।
প্রদত্ত দৃশ্যের নির্দিষ্ট প্রয়োজনীয়তার উপর নির্ভর করে বিভিন্ন ধরণের সাবকোয়ারি ব্যবহার করা যেতে পারে। এর মধ্যে রয়েছে:
- স্কেলার সাবকোয়েরি: একটি একক মান প্রদান করে।
- কলাম সাবকোয়েরি: মানগুলির একটি একক কলাম প্রদান করে।
- সারি সাবকোয়েরি: ডেটার একটি একক সারি প্রদান করে।
- টেবিল সাবকোয়েরি: ডেটার একটি সম্পূর্ণ টেবিল প্রদান করে।
সাবকোয়ারিগুলি তাদের আচরণের উপর ভিত্তি করে দুটি বিভাগে বিভক্ত করা যেতে পারে:
- কোরিলেটেড সাবকোয়েরি: একটি সাবকোয়েরি যা বাইরের কোয়েরির একটি মানের উপর নির্ভর করে এবং বাইরের কোয়েরির প্রতিটি সারির জন্য একবার কার্যকর করা হয়।
- অ-সম্পর্কিত সাবকোয়েরি: একটি সাবকোয়েরি যা বাইরের ক্যোয়ারী থেকে স্বাধীনভাবে চালানো যেতে পারে, একটি একক ফলাফল প্রদান করে যা বাইরের ক্যোয়ারী ব্যবহার করতে পারে।
সাবকোয়েরি ব্যবহার করার সময়, কর্মক্ষমতার প্রভাব বিবেচনা করা অত্যন্ত গুরুত্বপূর্ণ, কারণ বড় ডেটাসেট এবং জটিল সম্পর্কগুলি অত্যধিক কম্পিউটেশনাল ওভারহেড এবং ধীর ক্যোয়ারী কর্মক্ষমতার দিকে নিয়ে যেতে পারে। সাবকোয়েরি অপ্টিমাইজ করার জন্য, বিকাশকারীরা সূচীগুলিকে লিভারেজ করতে পারে, ক্যোয়ারী ইঙ্গিতগুলি ব্যবহার করতে পারে এবং অন্যান্য পারফরম্যান্স টিউনিং কৌশল যেমন ক্যাশিং এবং পেজিনেশন ব্যবহার করতে পারে। সাবকোয়েরির যথাযথ ব্যবহার SQL কোয়েরির নমনীয়তা এবং অভিব্যক্তিকে উল্লেখযোগ্যভাবে বৃদ্ধি করতে পারে, যা ডেভেলপারদের আরও দক্ষ এবং পরিশীলিত অ্যাপ্লিকেশন তৈরি করতে দেয়।
AppMaster, ব্যাকএন্ড, ওয়েব এবং মোবাইল অ্যাপ্লিকেশন তৈরির জন্য no-code প্ল্যাটফর্ম, রিলেশনাল ডাটাবেসে সাবকোয়েরির গুরুত্ব স্বীকৃত এবং ডিজাইন প্রক্রিয়ার মধ্যে অন্তর্ভুক্ত করা হয়েছে। AppMaster ভিজ্যুয়াল ডেটা মডেল এবং ব্যবসায়িক প্রক্রিয়া ডিজাইনারদের ব্যবহার করে, ব্যবহারকারীরা অনায়াসে জটিল SQL কোয়েরি তৈরি করতে পারে যার মধ্যে সাবকোয়েরি রয়েছে, সম্ভাব্য সবচেয়ে কার্যকর পদ্ধতিতে ডেটা পুনরুদ্ধার এবং প্রক্রিয়া করার জন্য তাদের অ্যাপ্লিকেশনগুলিকে ফাইন-টিউনিং করা।
একটি উদাহরণ হিসাবে, একটি দৃশ্যকল্প বিবেচনা করুন যেখানে একজন ব্যবহারকারী গত মাসে অন্তত একটি অর্ডার করেছেন এমন গ্রাহকদের একটি তালিকা পুনরুদ্ধার করতে চান৷ সাবকোয়ারি ব্যবহার করে, বিকাশকারী সহজেই একটি এসকিউএল কোয়েরি তৈরি করতে পারে যা প্রথমে গত মাসের মধ্যে দেওয়া সমস্ত অর্ডার পুনরুদ্ধার করে এবং তারপরে প্রাসঙ্গিক গ্রাহক ডেটা পেতে এই ফলাফলটিকে ফিল্টার হিসাবে ব্যবহার করে।
নির্বাচন করুন * গ্রাহকদের কাছ থেকে কোথায় আইডি ইন ( গ্রাহক_আইডি নির্বাচন করুন আদেশ থেকে WHERE order_date >= DATEADD(মাস, -1, GETDATE()) );
এই ক্যোয়ারীটি জটিল ডেটা পুনরুদ্ধার ক্রিয়াকলাপ সক্ষম করতে এবং অনুসন্ধান প্রক্রিয়াটিকে অপ্টিমাইজ করার ক্ষেত্রে সাবকোয়েরির শক্তিকে চিত্রিত করে৷ সাবকোয়ারিগুলি ব্যবহার করে, বিকাশকারীরা আরও কার্যকরভাবে অ্যাপ্লিকেশনগুলি ডিজাইন করতে পারে যা ব্যবহারকারীদের চাহিদা পূরণ করে, ব্যবসার নিয়মগুলি মেনে চলে এবং অন্তর্নিহিত রিলেশনাল ডাটাবেসের সাথে দক্ষতার সাথে যোগাযোগ করে।
উপসংহারে, সাবকোয়ারি হল রিলেশনাল ডাটাবেসের প্রেক্ষাপটে এসকিউএল কোয়েরির একটি মূল দিক, যা ডেভেলপারদের আরও দক্ষ এবং নমনীয় অ্যাপ্লিকেশন তৈরি করতে দেয়। AppMaster মতো একটি no-code প্ল্যাটফর্মের সাথে, বিকাশকারীরা তাদের ডেটা মডেল এবং ব্যবসায়িক প্রক্রিয়াগুলি দৃশ্যমানভাবে ডিজাইন করতে পারে এবং স্বয়ংক্রিয়ভাবে এমন অ্যাপ্লিকেশন তৈরি করে যা ডেটা পুনরুদ্ধার এবং প্রক্রিয়াকরণ ক্রিয়াকলাপে সাবকোয়েরির ক্ষমতা সম্পূর্ণরূপে ব্যবহার করে৷ সাবকোয়ারিগুলি আয়ত্ত করার মাধ্যমে, বিকাশকারীরা তাদের গ্রাহকদের নির্দিষ্ট চাহিদা অনুসারে দক্ষ, মাপযোগ্য এবং অত্যাধুনিক সফ্টওয়্যার সমাধান সরবরাহ করে রিলেশনাল ডেটাবেসের সম্পূর্ণ সম্ভাবনা আনলক করতে পারে।