SQL DISTINCT क्वेरी का उपयोग SQL में SELECT कथन का उपयोग करके तालिकाओं से अद्वितीय मान प्राप्त करने के लिए किया जाता है।
ऐसी स्थिति उत्पन्न हो सकती है जब आप तालिकाओं से अद्वितीय मान प्राप्त करना चाहते हैं, लेकिन तालिका के अंदर डुप्लिकेट मान भी मौजूद होते हैं। ऐसी स्थिति में, आपको डुप्लिकेट मानों को समाप्त करने और तालिका से अद्वितीय मान प्राप्त करने के लिए SELECT DISTINCT क्वेरी का उपयोग करना चाहिए।
SELECT DISTINCT स्टेटमेंट का सिंटैक्स:
SELECT DISTINCT columnname1, columnname2 FROM table_name;
मौजूदा कर्मचारी तालिका पर विचार करें जिसमें निम्नलिखित रिकॉर्ड हैं:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल | 1 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण | 4 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | WANRE | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
आइए एक उदाहरण की मदद से SELECT DISTINCT को समझते हैं।
उदाहरण 1: DISTINCT कीवर्ड का उपयोग किए बिना कर्मचारी विवरण प्राप्त करने के लिए एक प्रश्न लिखें जिसका कर्मचारी वेतन 55000 से अधिक है।
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;
उपरोक्त कथन में, हमने कर्मचारी की तालिका से कर्मचारी विवरण प्राप्त किया है जिसका कर्मचारी वेतन 55000 से अधिक है, जिसमें डुप्लिकेट मान शामिल हैं।
निम्नलिखित कथन के लिए आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल | 1 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
उपरोक्त परिणाम से पता चलता है कि हमने डुप्लिकेट मानों सहित कर्मचारियों का विवरण प्राप्त कर लिया है।
उदाहरण 2: कर्मचारी तालिका से कर्मचारी वेतन प्रदर्शित करने के लिए एक प्रश्न लिखें जिसका कर्मचारी वेतन DISTINCT कीवर्ड का उपयोग करके 55000 से अधिक है।
SELECT DISTINCT (SALARY) FROM EMPLOYEES WHERE SALARY > 55000;
उपरोक्त कथन में, हम कर्मचारी के वेतन को उस कर्मचारी की तालिका से प्राप्त कर रहे हैं जिसका वेतन 55000 से अधिक है, जहाँ हम डुप्लिकेट मानों को समाप्त कर रहे हैं। विशिष्ट वेतन कर्मचारी की तालिका से अद्वितीय वेतन प्रदर्शित करेगा।
निम्नलिखित कथन के लिए आउटपुट:
वेतन |
65000 |
60000 |
55500 |
65500 |
58500 |
60500 |
पहले उदाहरण में, हमने उस कर्मचारी का विवरण प्राप्त किया है जिसका वेतन 55000 से अधिक है। क्वेरी परिणाम में डुप्लिकेट मान शामिल हैं। लेकिन दूसरे उदाहरण में, हम कर्मचारी वेतन प्रदर्शित करने के लिए उसी क्वेरी को निष्पादित करते हैं जिसका वेतन 55000 से अधिक है। क्वेरी डुप्लिकेट मानों को समाप्त करने वाले परिणाम को प्रदर्शित करती है क्योंकि हमने वेतन कॉलम के बाद DISTINCT कीवर्ड का उपयोग किया था।
उदाहरण 3: एक अलग कीवर्ड का उपयोग किए बिना कर्मचारी तालिका से कर्मचारी शहर और वेतन प्रदर्शित करने के लिए एक प्रश्न लिखें।
SELECT SALARY, CITY FROM EMPLOYEES;
हमने उपरोक्त विवरण में कर्मचारी की तालिका से कर्मचारी वेतन और शहर का नाम प्रदर्शित किया है, जिसमें डुप्लिकेट मान शामिल हैं।
निम्नलिखित कथन के लिए आउटपुट:
वेतन | शहर |
65500 | पुणे |
60000 | नोएडा |
50500 | जयपुर |
55500 | चंडीगढ़ |
65500 | पुणे |
50000 | मुंबई |
55500 | पुणे |
50500 | जयपुर |
58500 | मुंबई |
60500 | मुंबई |
54500 | नोएडा |
60000 | दिल्ली |
55500 | दिल्ली |
उदाहरण 4: अलग-अलग कीवर्ड का उपयोग करके कर्मचारी तालिका से कर्मचारी शहर और वेतन प्रदर्शित करने के लिए एक प्रश्न लिखें।
कर्मचारियों से अलग वेतन, शहर चुनें;
हमने उपरोक्त विवरण में कर्मचारी तालिका से कर्मचारी वेतन और शहर प्राप्त किया है। लेकिन हमने एक अद्वितीय मान प्राप्त किया है जिसे DISTINCT कीवर्ड का उपयोग करके पूरी तालिका में दोहराया नहीं जाता है।
निम्नलिखित कथन के लिए आउटपुट:
वेतन | शहर |
65500 | पुणे |
60000 | नोएडा |
50500 | जयपुर |
55500 | चंडीगढ़ |
50000 | मुंबई |
55500 | पुणे |
58500 | मुंबई |
60500 | मुंबई |
54500 | नोएडा |
60000 | दिल्ली |
55500 | दिल्ली |
उदाहरण 5: कर्मचारी की तालिका से कर्मचारी का अंतिम नाम और विभाग प्रदर्शित करने के लिए एक प्रश्न लिखें जहां विभाग का नाम DISTINCT कीवर्ड का उपयोग किए बिना 'O' से शुरू होता है;
SELECT LAST_NAME, DEPARTMENT FROM EMPLOYEES WHERE DEPARTMENT LIKE 'O%';
उपरोक्त कथन में, हमने उन कर्मचारियों की कर्मचारी तालिका से कर्मचारी के अंतिम नाम, विभागों को प्राप्त किया, जिनके विभाग के नाम 'O' से शुरू होते हैं, जिसमें डुप्लिकेट मान शामिल हैं।
निम्नलिखित कथन के लिए आउटपुट:
LAST_NAME | विभाग |
मिश्रा | ओरेकल |
शर्मा | ओरेकल |
शर्मा | ओरेकल |
अग्रवाल | ओरेकल |
उन कर्मचारियों के केवल चार रिकॉर्ड प्रदर्शित होते हैं जिनका विभाग 'O' से शुरू होता है।
उदाहरण 6: कर्मचारी की तालिका से कर्मचारी का अंतिम नाम और विभाग प्रदर्शित करने के लिए एक प्रश्न लिखें जहां विभाग का नाम DISTINCT कीवर्ड का उपयोग करके 'O' से शुरू होता है;
SELECT DISTINCT LAST_NAME, DEPARTMENT FROM EMPLOYEES WHERE DEPARTMENT LIKE 'O%';
हमने उदाहरण 5 में उसी क्वेरी का उपयोग किया है, कॉलम नाम से ठीक पहले DISTINCT कीवर्ड जोड़ा है जो उस कर्मचारी की तालिका से अद्वितीय मान प्रदर्शित करेगा जिसका विभाग का नाम 'O' से शुरू होता है।
निम्नलिखित कथन के लिए आउटपुट:
LAST_NAME | विभाग |
मिश्रा | ओरेकल |
शर्मा | ओरेकल |
अग्रवाल | ओरेकल |
उपरोक्त क्वेरी में हमने वही क्वेरी निष्पादित की है, हमने कॉलम से ठीक पहले DISTINCT कीवर्ड जोड़ा है। हमें जो आउटपुट मिलता है वह उपरोक्त उदाहरण से भिन्न होता है क्योंकि परिणाम प्रदर्शन में अद्वितीय मान होते हैं।
उदाहरण 7: एक अलग कीवर्ड का उपयोग किए बिना कर्मचारी तालिका से कर्मचारी वेतन की गणना करने के लिए एक प्रश्न लिखें।
SELECT COUNT (SALARY) AS TOTAL SALARY FROM EMPLOYEES;
उपरोक्त कथन में, हमने कर्मचारी की तालिका से वेतन की कुल संख्या की गणना की है, जिसमें डुप्लिकेट मान शामिल हैं।
निम्नलिखित कथन के लिए आउटपुट:
कुल वेतन |
13 |
उदाहरण 8: विशिष्ट कीवर्ड का उपयोग करके कर्मचारी तालिका से कर्मचारी वेतन की गणना करने के लिए एक प्रश्न लिखें।
SELECT COUNT(DISTINCT SALARY) AS TOTAL SALARY FROM EMPLOYEES;
उपरोक्त कथन में, हमने डुप्लिकेट मानों को छोड़कर, कर्मचारी की तालिका से वेतन की कुल संख्या की गणना की है।
निम्नलिखित कथन के लिए आउटपुट:
कुल वेतन |
8 |