SQL Server में SELECT TOP कमांड
SQL Server में, SELECT TOP कमांड का उपयोग SQL Server में एक या अधिक टेबल्स से रिकॉर्ड्स पुनर्प्राप्त करने और वापसी रिकॉर्ड्स की संख्या को एक निश्चित मान या प्रतिशत के आधार पर सीमित करने के लिए किया जाता है।
SELECT TOP कमांड सिंटैक्स
SELECT TOP (gia_tri_dau) [PERCENT] [WITH TIES]
bieu_thuc
FROM bang
[WHERE dieu_kien]
[ORDER BY bieu_thuc [ ASC | DESC ]];
चर नाम या मान
TOP (gia_tri_dau)
gia_tri_dau के आधार पर परिणाम वापस करता है। उदाहरण के लिए, TOP (10) परिणाम सेट से पहली 10 पंक्तियां डालेगा।
PERCENT
वैकल्पिक। यदि निर्दिष्ट है, तो पहली पंक्तियां परिणाम सेट के gia_tri_dau के प्रतिशत पर आधारित होंगी। उदाहरण के लिए, TOP (10) PERCENT परिणाम सेट में पहले मान का 10% डालेगा।
WITH TIES
वैकल्पिक। यदि इस क्लॉज का उपयोग किया जाता है, तो परिणाम सेट में अंतिम पंक्ति के समान मान वाली पंक्तियां वापस की जाएंगी। इसके परिणामस्वरूप ऐसी स्थिति हो सकती है जहां वापस की गई पंक्तियों की संख्या TOP द्वारा अनुमत से अधिक हो।
bieu_thuc
पुनर्प्राप्त करने के लिए कॉलम या गणना मान।
bang
रिकॉर्ड्स प्राप्त करने के लिए टेबल। FROM क्लॉज में कम से कम 1 टेबल होना चाहिए।
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 होने पर टेबल पर पहले 5 रिकॉर्ड्स पुनर्प्राप्त करेगा। यदि अन्य रिकॉर्ड्स में भी उपनाम 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;
यह उदाहरण कर्मचारी टेबल में दर्ज परिणाम सेट का पहला 10% वापस करेगा उन कर्मचारियों में जिनका उपनाम Anderson है। शेष 90% वापस नहीं किए जाएंगे।
SELECT TOP(10) PERCENT WITH TIES
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanvien_id;
WITH TIES के साथ, वापस किया गया परिणाम अंतिम पंक्ति के समान पंक्तियों को समाहित करेगा। परिणाम सेट तब 10% से अधिक होगा।