সৌভাগ্যবশত, এসকিউএল-এ, আমাদের LIMIT ক্লজে অ্যাক্সেস আছে যা আমাদেরকে একটি প্রদত্ত ফলাফল সেটের মধ্যে প্রত্যাবর্তিত সারির সংখ্যা নিয়ন্ত্রণ করতে দেয়। এই বৈশিষ্ট্যটি খুব দরকারী যখন আমরা একটি বড় ডেটা সেট নিয়ে কাজ করি এবং আসলে পুরো সারিটির প্রয়োজন হয় না বরং এর একটি উপসেট। এটি ডেটা বা উপস্থাপনার বিন্যাস পেতে হতে পারে।
এই টিউটোরিয়ালে, আমরা শিখব কিভাবে আমরা এসকিউএল ডাটাবেসে LIMIT ক্লজ ব্যবহার করতে পারি এবং কাজ করতে পারি এবং ডাটাবেস থেকে আমরা যে সারির সংখ্যা পুনরুদ্ধার করতে চাই তা নির্দিষ্ট করতে পারি।
প্রয়োজনীয়তা:
এসকিউএল-এ LIMIT ক্লজের কাজ এবং ব্যবহার সম্পর্কে আলোচনা করার আগে, আসুন এই টিউটোরিয়ালের জন্য কিছু মৌলিক প্রয়োজনীয়তা নিয়ে আলোচনা করি।
এই পোস্টটি অনুসরণ করতে, আপনার নিম্নলিখিতগুলি প্রয়োজন হবে:
- MySQL 8.0 এবং তার উপরে MySQL 5 এর সাথে কাজ করে
- Access to the Sakila sample database
- লক্ষ্য ডাটাবেস থেকে সারি জিজ্ঞাসা করার অনুমতি (পঠন অ্যাক্সেস)
প্রদত্ত প্রয়োজনীয়তা পূরণের সাথে, আমরা এই টিউটোরিয়ালটি নিয়ে এগিয়ে যেতে পারি।
এসকিউএল সীমা
এসকিউএল-এ, LIMIT ক্লজ আমাদের একটি প্রদত্ত SQL কোয়েরি থেকে ফেরত আসা সারির সংখ্যা সীমাবদ্ধ করতে দেয়। উদাহরণস্বরূপ, একটি নির্বাচন বিবৃতিতে, 1000 টিরও বেশি রেকর্ড থাকতে পারে এমন টেবিল থেকে সমস্ত সারি ফেরত দেওয়ার পরিবর্তে, আমরা শুধুমাত্র প্রথম 10টি সারি দেখতে বেছে নিতে পারি।
নিম্নলিখিত SQL-এ LIMIT ক্লজের মৌলিক সিনট্যাক্স দেখায়:
col1, col2, ... নির্বাচন করুন
tbl_name থেকে
LIMIT সংখ্যা_সারি;
এই উদাহরণে, আমরা SELECT স্টেটমেন্টের সাথে একত্রে LIMIT ক্লজ ব্যবহার করছি।
প্রদত্ত সিনট্যাক্স থেকে, 'tbl_name' টেবিলের নামটি উপস্থাপন করে যেখান থেকে আমরা ডেটা পুনরুদ্ধার করতে চাই।
'সংখ্যা_সারি' আমাদেরকে ফলাফল সেটে সর্বাধিক সংখ্যক সারি নির্দিষ্ট করতে দেয়।
উদাহরণ 1: সারির সংখ্যা সীমিত করুন
LIMIT ক্লজের সবচেয়ে সাধারণ এবং মৌলিক ভূমিকা হল ফলাফল সেটে অন্তর্ভুক্ত সর্বোচ্চ সংখ্যক সারি সেট করা।
ধরুন আমরা সাকিলা নমুনা ডাটাবেস থেকে 'ফিল্ম' টেবিলটি ব্যবহার করতে চাই। যাইহোক, যেহেতু আমরা সমস্ত সংশ্লিষ্ট সারি আনতে চাই না, আমরা নিম্নলিখিত উদাহরণের ধারায় দেখানো হিসাবে প্রথম 10টি সারি নির্বাচন করতে পারি:
ফিল্ম থেকে * নির্বাচন করুনসীমা 10 ;
একবার আমরা প্রদত্ত ক্যোয়ারী চালানোর পরে, আমাদের নিম্নলিখিত হিসাবে একটি আউটপুট পাওয়া উচিত:
এই উদাহরণে, আমরা 10 সারিতে ফলাফল সেট সীমাবদ্ধ করতে LIMIT ক্লজ ব্যবহার করি। এটি ফলাফল থেকে প্রথম 10টি সারি নিয়ে আসে।
উদাহরণ 2: অফসেট মান ব্যবহার করা
কিছু ক্ষেত্রে, আমরা একটি নির্দিষ্ট সংখ্যক সারি এড়িয়ে যেতে বা বাদ দিতে চাই। উদাহরণস্বরূপ, ধরুন আমরা শুধুমাত্র পাঁচটি উপাদান পুনরুদ্ধার করতে চাই, কিন্তু আমরা 20 অবস্থানে শুরু করতে চাই। আমরা OFFSET প্যারামিটার ব্যবহার করতে পারি যা আমাদের LIMIT ক্লজটি বলতে দেয় যে আমরা কোন অবস্থানে শুরু করতে চাই।
এটি বিশেষভাবে উপযোগী যখন আপনাকে একটি বড় ডেটাসেটে পেজিনেশন প্রয়োগ করতে হবে যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
ফিল্ম থেকে ফিল্ম_আইডি, শিরোনাম, মুক্তির_বছর, `দৈর্ঘ্য` নির্বাচন করুনসীমা 10 অফসেট বিশ ;;
এটি নিম্নরূপ অবস্থান 20 থেকে শুরু করে 10টি সারি ফেরত দেবে:
আপনি প্রদত্ত ফলাফল থেকে দেখতে পাচ্ছেন, 'ফিল্ম_আইডি' শুরু হয় 21 পজিশন থেকে এবং 30 পজিশনে এগিয়ে যায়।
উদাহরণ 3: অর্ডার বাই ক্লজ ব্যবহার করা
LIMIT ধারার আরেকটি সাধারণ ব্যবহার হল ORDER BY ধারার সাথে। এটি আমাদের নির্দিষ্ট সংখ্যক সারি পুনরুদ্ধার করতে দেয় যা একটি নির্দিষ্ট অর্ডারের উপর ভিত্তি করে। এর মধ্যে মৌলিক বাছাই (আরোহী বা অবরোহ) ইত্যাদি অন্তর্ভুক্ত থাকতে পারে।
উদাহরণস্বরূপ, ধরুন আমরা 'চলচ্চিত্র' টেবিল থেকে শীর্ষ 10টি দীর্ঘতম চলচ্চিত্র পুনরুদ্ধার করতে চাই। আমরা দৈর্ঘ্যের উপর ভিত্তি করে মানগুলি সাজানোর জন্য ORDER BY ক্লজ ব্যবহার করতে পারি এবং তারপর প্রথম 10টি সারি সীমাবদ্ধ করতে পারি।
একটি উদাহরণ নিম্নরূপ:
f.film_id, f.title, f.length নির্বাচন করুনফিল্ম থেকে চ
অর্ডার করুন দৈর্ঘ্য DESC দ্বারা
সীমা 10 ;
এই ক্ষেত্রে, আমরা ORDER BY ক্লজ ব্যবহার করে সারিগুলিকে অবতরণ ক্রমে (সর্বোচ্চ থেকে সর্বনিম্ন) অর্ডার করি এবং তারপর LIMIT ক্লজ ব্যবহার করে প্রথম 10টি সারি নিয়ে আসি।
ফলাফল সেট নিম্নরূপ:
সেখানে আপনি এটা আছে!
উপসংহার
এই পোস্টে, আমরা SQL ডাটাবেসে LIMIT ক্লজের সাথে কাজ করার মৌলিক এবং উন্নত বৈশিষ্ট্যগুলি শিখেছি।