SQL ORDER BY স্টেটমেন্ট একটি কোয়েরি দিয়ে ফেরত আসা রেকর্ডগুলোর ক্রম নির্ধারণ করে। আপনি টেবিলের যেকোনো কলামের মান অনুযায়ী আরোহী বা অवरোহী ক্রমে রেকর্ড ফেরত পেতে পারেন।
কোয়েরি ফলাফল সাজিয়ে রাখলে আপনি যা খুঁজছেন সেটি খুঁজে পাওয়া সহজ হয়।
উদাহরণস্বরূপ, ধরুন আপনি জানতে চান কোন কর্মীরা সবচেয়ে বেশি employee of the month পুরস্কার জিতেছে। আপনি আপনার কোয়েরি সেটি অনুযায়ী সাজাতে চাইতে পারেন যাতে সবচেয়ে বেশি পুরস্কার জিতেছে সে কর্মী প্রথমে দেখাবে।
SQL ORDER BY স্টেটমেন্ট আপনার শর্ত অনুযায়ী একটি কোয়েরির ফলাফল সাজায়। এই টিউটোরিয়ালে আমরা ORDER BY স্টেটমেন্ট কীভাবে ব্যবহার করতে হয় সেটি আলোচনা করব। আপনাকে এই কিওয়ার্ড মাস্টার করতে সাহায্য করার জন্য একটি উদাহরণ দিয়ে আলোচনা করব।
SQL ORDER BY
SQL ORDER BY কিওয়ার্ড একটি কোয়েরির ফলাফল সাজায়। আপনি ফলাফলগুলো একটি নির্দিষ্ট কলাম বা কলাম সেট অনুযায়ী আরোহী বা অवरোহী ক্রমে সাজাতে পারেন।
এখানে একটি ORDER BY কোয়েরির সিনট্যাক্স:
SELECT name FROM employees ORDER BY name, joined ASC;
SQL SELECT স্টেটমেন্টের পর, আমরা যে কলামটি পুনরুদ্ধার করতে চাই তার নাম নির্দিষ্ট করি। তারপর আমরা বলে দিই আমরা employees টেবিল থেকে ডেটা পুনরুদ্ধার করতে চাই।
ORDER BY স্টেটমেন্ট আমাদের কোয়েরি name এবং joined কলাম অনুযায়ী অवरোহী ক্রমে সাজায়। আমাদের ডেটাবেস প্রথমে নাম অনুযায়ী অवरোহী ক্রমে সাজাবে।
SQL ডিফল্টভাবে একটি কলামকে আরোহী ক্রমে সাজায়। আপনি SQL ORDER BY ক্লজ ব্যবহার করে একটি কলামকে আরোহী বা অवरোহী ক্রমে সাজাতে পারেন।
দুটি সম্ভাব্য সর্ট অর্ডার হলো:
- ASC: আরোহী (Ascending)।
- DESC: অवरোহী (Descending)।
আপনি কলাম লিস্ট ব্যবহার করে একাধিক কলাম ভিন্ন ভিন্ন অর্ডারে সাজাতে পারেন:
SELECT name FROM employees ORDER BY name ASC, joined DESC;
এই কোয়েরি আমাদের টেবিল name অনুযায়ী আরোহী ক্রমে সাজাবে। তারপর, আমাদের টেবিল joined অনুযায়ী অवरোহী ক্রমে সাজাবে।
ORDER BY SQL উদাহরণ
চলুন একটি উদাহরণ কোয়েরি চালাই ORDER BY অপারেটর কর্মক্ষেত্রে দেখাতে। আমরা সকল কর্মীর নাম এবং প্রতিটি কর্মীর টাইটেলের তালিকা পেতে চাই। আমাদের লক্ষ্য এই তালিকা কর্মীর নাম অনুযায়ী অক্ষরানুক্রমিক ক্রমে সাজানো।
এই ডেটা পেতে আমরা নিচের কোয়েরি ব্যবহার করতে পারি:
SELECT name, title FROM employees ORDER BY name ASC;
আমাদের কোয়েরি ফলাফল সেট সাজায়। এখানে আরোহী ক্রমে আমাদের ফলাফল সেট:
| name | title |
| Alexis | Sales Associate |
| Geoff | Senior Sales Associate |
| Hannah | Sales Associate |
| Jonah | Vice President of Sales |
| Luke | Sales Associate |
| Mike | Sales Associate |
যদি আপনি উল্টো অক্ষরানুক্রমিক ক্রমে সাজাতে চান, তবে ASC স্টেটমেন্টের বদলে DESC বসিয়ে দিন।
আপনি একাধিক কলাম অনুযায়ীও সাজাতে পারেন। এটি উপযোগী হয় যদি আপনার টেবিলে ডুপ্লিকেট মান থাকে যেগুলো আপনি সাজাতে চান।
উদাহরণস্বরূপ, ধরুন আপনি জানতে চান কে সবচেয়ে কম সময় ধরে কাজ করছে, তাদের টাইটেল অনুযায়ী সাজিয়ে। আপনি নিচের কোয়েরি ব্যবহার করে এটি করতে পারেন:
SELECT name, title, hired_date FROM employees ORDER BY title, hired_date DESC;
আমাদের ORDER BY স্টেটমেন্ট কোয়েরি ফলাফল সাজায়। এখানে আমাদের কোয়েরির ফলাফল:
| name | title | hired_date |
| Emma | Marketing Director | 2010-03-19 |
| Alexis | Sales Associate | 2014-04-01 |
| Hannah | Sales Associate | 2011-09-30 |
| Mike | Sales Associate | 2010-03-19 |
| Luke | Sales Associate | 2009-12-03 |
| Geoff | Senior Sales Associate | 2012-03-17 |
| Jonah | Vice President of Sales | 2010-07-23 |
(৭ সারি)
আপনি দেখতে পাচ্ছেন, আমাদের টেবিল কর্মীর টাইটেল এবং তারিখ অনুযায়ী সাজানো হয়েছে যেখানে তারা নিয়োগ হয়েছিল। আমাদের ORDER BY স্টেটমেন্ট সফলভাবে রেকর্ডগুলো সাজিয়েছে।
সবচেয়ে সাম্প্রতিক নিয়োগ করা সেলস অ্যাসোসিয়েট ছিল Алек্সিস। আমাদের কোম্পানিতে সবচেয়ে দীর্ঘদিন ধরে কাজ করছে সেলস অ্যাসোসিয়েট হলো লুক। আমরা অন্য সকল কর্মীর নিয়োগের তারিখও তাদের টাইটেল অনুযায়ী ক্রমে দেখতে পাচ্ছি।
উপসংহার
SQL ORDER BY স্টেটমেন্ট একটি কোয়েরি দিয়ে ফেরত আসা রেকর্ডগুলোর ক্রম পরিবর্তন করে। আপনি একটি কোয়েরি আরোহী বা অवरোহী ক্রমে সাজাতে পারেন। ডিফল্টভাবে একটি কোয়েরি আরোহী ক্রমে ডেটা ফেরত দেয়।
আপনি কি SQL সম্পর্কে আরও জানতে চান? আমাদের How to Learn SQL গাইড পড়ুন। আপনি SQL শিখতে শীর্ষ টিপস পাবেন। আমরা আমাদের গাইডে লার্নিং রিসোর্সের তালিকা তৈরি করেছি যা আপনার দরকার দক্ষতা গড়ে তুলতে সাহায্য করবে।