एसक्यूएल ऑर्डर बाय
एसक्यूएल ऑर्डर बाय क्लॉज का उपयोग डेटाबेस में तालिकाओं में संग्रहीत डेटा को सॉर्ट करने के लिए किया जाता है . छँटाई आरोही तरीके से, अवरोही तरीके से, या तालिका के कई स्तंभों के आधार पर की जा सकती है ।
आम तौर पर, डिफ़ॉल्ट सॉर्टिंग क्रम आरोही क्रम होता है।
SELECT expressions FROM tables WHERE conditions ORDER BY expression ASC | DESC;
एक सामान्य ORDER BY क्लॉज का सिंटैक्स निम्नलिखित है:
उदाहरण:
आइए निम्नलिखित ग्राहकों पर विचार करें टेबल।
आईडी | नाम | उम्र | पता | वेतन |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
उपरोक्त क्वेरी NAME और SALARY कॉलम के आधार पर सभी रिकॉर्ड्स को आरोही क्रम में सॉर्ट करेगी।
आउटपुट:
आईडी | नाम | उम्र | पता | वेतन |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
उपरोक्त क्वेरी NAME कॉलम के आधार पर तालिका के सभी रिकॉर्ड्स को अवरोही तरीके से सॉर्ट करेगी।
आउटपुट:
आईडी | नाम | उम्र | पता | वेतन |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
SQL ORDER BY क्लॉज के अंतर्गत विभिन्न विषय हैं। अर्थात्, वे हैं:
- एएससी द्वारा SQL आदेश - डेटा को आरोही तरीके से क्रमबद्ध करता है
- डीईएससी द्वारा एसक्यूएल आदेश - डेटा को अवरोही तरीके से क्रमबद्ध करता है
- एसक्यूएल ऑर्डर बाई रैंडम - रैंडम डेटा सॉर्ट करता है
- सीमा के अनुसार SQL आदेश - डेटाबेस से सीमित डेटा का चयन करता है
- एकाधिक कॉलम द्वारा SQL ऑर्डर - एकाधिक कॉलम के आधार पर डेटा को सॉर्ट करता है।
आइए उनमें से प्रत्येक के बारे में विस्तार से चर्चा करें।
एएससी द्वारा SQL ऑर्डर
एएससी द्वारा एसक्यूएल ऑर्डर क्लॉज कुछ कॉलम के आधार पर डेटा को आरोही क्रम में सॉर्ट करता है। आम तौर पर, डिफ़ॉल्ट सॉर्टिंग क्रम आरोही तरीके से होता है।
उदाहरण:
आइए निम्नलिखित ग्राहकों पर विचार करें टेबल।
आईडी | नाम | उम्र | पता | वेतन |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
उपरोक्त क्वेरी NAME और SALARY कॉलम के आधार पर सभी रिकॉर्ड्स को आरोही क्रम में सॉर्ट करेगी।
आउटपुट:
आईडी | नाम | उम्र | पता | वेतन |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
DESC द्वारा SQL ऑर्डर
SQL ORDER BY DESC क्लॉज कुछ कॉलम के आधार पर डेटा को अवरोही क्रम में सॉर्ट करता है।
उदाहरण:
आइए निम्नलिखित ग्राहकों पर विचार करें टेबल।
आईडी | नाम | उम्र | पता | वेतन |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
उपरोक्त क्वेरी NAME कॉलम के आधार पर तालिका के सभी रिकॉर्ड्स को अवरोही तरीके से सॉर्ट करेगी।
आउटपुट:
आईडी | नाम | उम्र | पता | वेतन |
2 | शिव तिवारी | 22 | भोपाल | 21000 |
4 | रितेश यादव | 36 | आजमगढ़ | 26000 |
6 | महेश शर्मा | 26 | मथुरा | 22000 |
1 | हिमानी गुप्ता | 21 | मोदीनगर | 22000 |
5 | बलवंत सिंह | 45 | वाराणसी | 36000 |
3 | अजीत भार्गव | 45 | मेरठ | 65000 |
SQL ORDER by LIMIT
SQL ORDER BY LIMIT क्लॉज डेटाबेस तालिका से विशिष्ट संख्या में रिकॉर्ड प्राप्त करने में मदद करता है। यह आमतौर पर उन स्थितियों में उपयोग किया जाता है जहां बड़ी संख्या में टुपल्स होते हैं जो दी गई शर्त को पूरा करते हैं। यह पुनर्प्राप्त किए जा रहे रिकॉर्ड की संख्या के लिए एक ऊपरी सीमा निर्धारित करता है।
एसक्यूएल में LIMIT क्लॉज का उपयोग करने के लिए, किसी को ROWNUM का उपयोग करना होगा इसके साथ खंड।
नोट:यह ध्यान दिया जाना चाहिए कि LIMIT क्लॉज सभी SQL संस्करणों द्वारा समर्थित नहीं है।
इस खंड को SQL 2008 OFFSET . का उपयोग करके निर्दिष्ट किया जा सकता है या पहले खंड प्राप्त करें ।
उदाहरण:
आइए निम्नलिखित विद्यार्थी पर विचार करें टेबल।
रोल नंबर | नाम | ग्रेड |
12001 | आदित्य | 9 |
12002 | साहिल | 6 |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
12006 | ऐनी | 10 |
12007 | यूसुफ | 7 |
12008 | एलेक्स | 5 |
SELECT * FROM Student LIMIT 5;
उपरोक्त क्वेरी केवल छात्र तालिका से शीर्ष 5 छात्रों को लौटाएगी।
आउटपुट:
12001 | आदित्य | 9 |
12002 | साहिल | 6 |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
LIMIT क्लॉज का उपयोग ORDER BY क्लॉज के साथ भी किया जा सकता है।
SELECT * FROM Student ORDER BY Grade DESC LIMIT 3;
उपरोक्त क्वेरी अवरोही क्रम में उच्चतम ग्रेड वाले शीर्ष 3 छात्रों को लौटाएगी।
आउटपुट:
12006 | ऐनी | 10 |
12001 | आदित्य | 9 |
12004 | रॉबिन | 9 |
LIMIT ऑपरेटर विशेष रूप से उन स्थितियों में उपयोगी होता है जहां सीमित डेटा को बिना किसी सशर्त कथन का उपयोग किए पुनर्प्राप्त करने की आवश्यकता होती है।
LIMIT ऑपरेटर का उपयोग OFFSET ऑपरेटर के साथ भी किया जा सकता है।
ऑफ़सेट के साथ LIMIT
यह ध्यान दिया जाना चाहिए कि ऑफसेट मान शून्य से अधिक होना चाहिए , और यह नकारात्मक नहीं हो सकता। यदि ऋणात्मक मान की आपूर्ति की जाती है, तो यह एक त्रुटि लौटाएगा।
उदाहरण:
आइए उसी छात्र तालिका पर विचार करें।
रोल नंबर | नाम | ग्रेड |
12001 | आदित्य | 9 |
12002 | साहिल | 6 |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
12006 | ऐनी | 10 |
12007 | यूसुफ | 7 |
12008 | एलेक्स | 5 |
SELECT * FROM Student LIMIT 5 OFFSET 2 ORDER BY RollNo;
यह क्वेरी शीर्ष 2 प्रविष्टियों को छोड़कर छात्र तालिका के शीर्ष 5 रिकॉर्ड लौटाएगी।
आउटपुट:
रोल नंबर | नाम | ग्रेड |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
12006 | ऐनी | 10 |
12007 | यूसुफ | 7 |
सभी को सीमित करें
LIMIT के समान एक और क्लॉज है जिसे LIMIT ALL . के नाम से जाना जाता है . LIMIT ALL क्लॉज कोई सीमा नहीं लगाएगा और तालिका की सभी प्रविष्टियों को वापस कर देगा।
उदाहरण:
आइए फिर से उसी छात्र तालिका पर विचार करें।
रोल नंबर | नाम | ग्रेड |
12001 | आदित्य | 9 |
12002 | साहिल | 6 |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
12006 | ऐनी | 10 |
12007 | यूसुफ | 7 |
12008 | एलेक्स | 5 |
प्रश्न:
SELECT * FROM Student LIMIT ALL;
रोल नंबर | नाम | ग्रेड |
12001 | आदित्य | 9 |
12002 | साहिल | 6 |
12003 | हेमा | 8 |
12004 | रॉबिन | 9 |
12005 | सीता | 7 |
12006 | ऐनी | 10 |
12007 | यूसुफ | 7 |
12008 | एलेक्स | 5 |
एकाधिक कॉलम द्वारा SQL ऑर्डर
एकाधिक कॉलम द्वारा SQL ऑर्डर कॉलम में डेटा प्रविष्टियों को क्वेरी में दिए गए एकाधिक कॉलम का उपयोग करके सॉर्ट करके वापस कर देगा।
यह ORDER BY क्लॉज के बाद दिए गए कॉलम नामों के क्रम के आधार पर डेटा को सॉर्ट करेगा। कॉलम का नाम उसी क्रम में जोड़ा जाना चाहिए जिसमें उपयोगकर्ता सॉर्टिंग करना चाहता है।
एकाधिक कॉलम नामों को अल्पविराम (,) का उपयोग करके अलग करके जोड़ा जा सकता है। साथ ही, सॉर्टिंग के क्रम को निर्दिष्ट करने के लिए ASC या DESC कीवर्ड का उपयोग किया जा सकता है।
उदाहरण:
आइए निम्नलिखित कर्मचारी पर विचार करें तालिका में चार कॉलम हैं, जैसे कि id, first_name, last_name, और वेतन।
आईडी | प्रथम_नाम | last_name | वेतन |
1 | लिसा | उलमान | 3000 |
2 | एडीए | मुलर | 2400 |
3 | थॉमस | हरा | 2400 |
4 | माइकल | मुलर | 3000 |
5 | मैरी | हरा | 2400 |
प्रश्न:
SELECT id, first_name, last_name, salary FROM employee ORDER BY salary DESC, last_name;
आउटपुट:
आईडी | प्रथम_नाम | last_name | वेतन |
4 | माइकल | एम उल्लर | 3000 |
1 | लिसा | यू ल्मन | 3000 |
3 | थॉमस | जी रीन | 2400 |
5 | मैरी | जी रीन | 2400 |
2 | एडीए | एम उल्लर | 2400 |
इसलिए, पहले, आउटपुट को वेतन द्वारा अवरोही क्रम में और फिर अंतिम नाम से आरोही क्रम में क्रमबद्ध किया गया है। यह ध्यान दिया जाना चाहिए कि यदि एएससी या डीईएससी का उल्लेख नहीं किया गया है, तो यह डिफ़ॉल्ट रूप से, दोनों स्तंभों को आरोही क्रम में क्रमबद्ध करेगा।
निष्कर्ष
तो, ऊपर कुछ सबसे महत्वपूर्ण और अक्सर उपयोग किए जाने वाले ORDER BY क्लॉज हैं जो डेटाबेस पर विशिष्ट संचालन करने और डेटा पुनर्प्राप्त करने के लिए दैनिक रूप से डेवलपर्स द्वारा उपयोग किए जाते हैं। इन क्लॉज को अलग-अलग इस्तेमाल किया जा सकता है या इन्हें एक साथ इस्तेमाल किया जा सकता है, एक संयुक्त तरीके से, डेटाबेस संचालन करने के लिए।