SQL सर्वर में, SELECT TOP कमांड का उपयोग SQL सर्वर में एक या अधिक तालिकाओं से रिकॉर्ड प्राप्त करने और एक निश्चित मान या प्रतिशत के आधार पर रिटर्न रिकॉर्ड की संख्या को सीमित करने के लिए किया जाता है।पी>
सिंटैक्स सेलेक्ट टॉप कमांड
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 के आधार पर परिणाम देता है। उदाहरण के लिए, टॉप (10) परिणाम सेट से पहली 10 पंक्तियों को सम्मिलित करेगा।
PERCENT
Option. यदि निर्दिष्ट किया जाता है, तो पहली पंक्तियाँ परिणाम सेट के giatri_dau के प्रतिशत पर आधारित होती हैं। उदाहरण के लिए, TOP (10) PERCENT परिणाम सेट में पहले मान का 10% सम्मिलित करेगा।
विथ टाईज
Option. यदि इस खंड का उपयोग किया जाता है, तो परिणाम सेट में अंतिम पंक्ति के समान मान वाली पंक्तियाँ लौटा दी जाएंगी। इसका परिणाम ऐसी स्थिति में हो सकता है जहां लौटाई गई पंक्तियों की संख्या TOP अनुमति देने से अधिक हो।
bieu_thuc
कॉलम या परिकलित मान को पुनः प्राप्त किया जाना चाहिए
स्थिति
तालिका वहां से रिकॉर्ड प्राप्त करना चाहती है। FROM क्लॉज में कम से कम 1 टेबल होना चाहिए।
जहां dieu_kien
Option. रिकॉर्ड के चयन के लिए शर्तों को पूरा करना होगा।
bieu_thuc द्वारा ऑर्डर करें
Option. परिणाम ऑर्डर करने के लिए उपयोग करें। ASC आरोही क्रम में, DESC अवरोही क्रम में।
उदाहरण के लिए - TOP कीवर्ड का उपयोग करें
SELECT TOP(5)
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nh
anvien_id;
उपरोक्त उदाहरण टेबल पर पहले 5 रिकॉर्ड को पुनः प्राप्त करेगा जब अंतिम नाम एंडरसन होगा। यदि अन्य रिकॉर्ड में भी एंडरसन का पारिवारिक नाम है, तो उन्हें SELECT स्टेटमेंट में वापस नहीं किया जाता है।
उपरोक्त उदाहरण को WITH TIES क्लॉज जोड़कर थोड़ा संपादित किया जा सकता है
SELECT TOP (5) WITH TIES
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanv
ien_id;
यह उदाहरण परिणाम सेट में अंतिम पंक्ति के समान ही पंक्तियों को लौटाएगा।
उदाहरण के लिए - TOP PERCENT कीवर्ड का उपयोग करें
SELECT TOP(10) PERCENT
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER B
Y nhanvien_id;
यह उदाहरण उन कर्मचारियों के बीच कर्मचारी तालिका में दर्ज किया गया पहला 10% परिणाम सेट लौटाएगा, जिनका अंतिम नाम एंडरसन है। शेष 90% वापस नहीं किया जाएगा।
SELECT TOP(10) PERCENT WITH TIES
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nha
dentist_id;
WIES के साथ, लौटाए गए परिणाम में वही पंक्तियाँ होंगी जो परिणाम सेट में अंतिम पंक्ति हैं। तब परिणाम सेट 10% से अधिक होगा।