SQL Server-এ SELECT TOP কমান্ড এক বা একাধিক টেবিল থেকে রেকর্ড রিট্রিভ করতে এবং ফিক্সড ভ্যালু বা পার্সেন্টেজ বেসে রিটার্ন রেকর্ড সীমাবদ্ধ করতে ব্যবহৃত হয়।
SELECT TOP কমান্ড সিনট্যাক্স
SELECT TOP (giatri_dau) [PERCENT] [WITH TIES] bieu_thuc FROM bang [WHERE dieu_kien] [ORDER BY bieu_thuc [ASC | DESC]];
ভেরিয়েবল নাম বা মান
TOP (giatri_dau)
giatri_dau বেসে ফলাফল রিটার্ন করে। উদাহরণ: TOP (10) রেজাল্ট সেট থেকে প্রথম ১০ সারি রিটার্ন করবে।
PERCENT
ঐচ্ছিক। যদি নির্দিষ্ট করা হয়, giatri_dau পার্সেন্টেজ বেসে প্রথম সারিগুলো রিটার্ন করবে। উদাহরণ: TOP (10) PERCENT রেজাল্ট সেটের প্রথম ১০% মান রিটার্ন করবে।
WITH TIES
ঐচ্ছিক। যদি এই ক্লজ ব্যবহার করা হয়, রেজাল্ট সেটের শেষ সারির সাথে একই মান वाले সারিগুলোও রিটার্ন হবে। এর ফলে রিটার্ন হওয়া সারির সংখ্যা TOP-এ অনুমতিত月より বেশি হতে পারে।
bieu_thuc
রিট্রিভ করতে চাওয়া কলাম বা ক্যালকুলেটেড ভ্যালু।
bang
রেকর্ড রিট্রিভ করতে চাওয়া টেবিল। FROM ক্লজে কমপক্ষে ১ টি টেবিল থাকতে হবে।
WHERE dieu_kien
ঐচ্ছিক। রেকর্ড সিলেক্ট করার শর্ত।
ORDER BY bieu_thuc
ঐচ্ছিক। ফলাফল সর্ট করতে ব্যবহার। ASC আরোহী ক্রম, DESC অবরোহী ক্রম।
উদাহরণ - TOP কীওয়ার্ড ব্যবহার
SELECT TOP(5) nhanvien_id, ho, ten FROM nhanvien WHERE ho = 'Anderson' ORDER BY nhanvien_id;
উপরের উদাহরণ উপনাম Anderson वाले টেবিলের প্রথম ৫ রেকর্ড রিট্রিভ করবে। অন্যান্য Anderson উপনাম वाले রেকর্ড SELECT স্টেটমেন্টে রিটার্ন হবে না।
উপরের উদাহরণ কিছুটা এডিট করে WITH TIES ক্লজ যোগ করলে
SELECT TOP(5) WITH TIES nhanvien_id, ho, ten FROM nhanvien WHERE ho = 'Anderson' ORDER BY nhanvien_id;
এই উদাহরণ রেজাল্ট সেটের শেষ সারির সাথে একই মান वाले সারিগুলোও রিটার্ন করবে।
উদাহরণ - TOP PERCENT কীওয়ার্ড ব্যবহার
SELECT TOP(10) PERCENT nhanvien_id, ho, ten FROM nhanvien WHERE ho = 'Anderson' ORDER BY nhanvien_id;
এই উদাহরণ Anderson উপনাম वाले কর্মচারীদের মধ্যে nhanvien টেবিলের প্রথম ১০% রেকর্ড রিটার্ন করবে। বাকি ৯০% রিটার্ন হবে না।
SELECT TOP(10) PERCENT WITH TIES nhanvien_id, ho, ten FROM nhanvien WHERE ho = 'Anderson' ORDER BY nhanvien_id;
WITH TIES সহ, ফেরত দেওয়া ফলাফলে রেজাল্ট সেটের শেষ সারির সাথে একই মান वाले সারিগুলো থাকবে। তখন রেজাল্ট সেট ১০% এর চেয়ে বেশি হবে।