SQL SELECT IN स्ट्रक्चर्ड क्वेरी लैंग्वेज में एक लॉजिकल ऑपरेटर है। इसका उपयोग SQL प्रश्नों में एकाधिक 'OR' ऑपरेटरों के उपयोग को कम करने के लिए किया जाता है। एस
एसक्यूएल में आईएन ऑपरेटर मूल्यों की सूची में किसी भी मूल्य से मेल खाने वाली स्थिति का आसानी से परीक्षण करने की अनुमति देता है। यह SQL क्वेरी में OR ऑपरेटरों की संख्या को कम करता है।
एसक्यूएल में IN ऑपरेटर का सिंटैक्स:
SELECT COLUMNNAME FROM TABLENAME WHERE COLUMNNAME IN (VALUE1, VALUE2);
SQL में IN ऑपरेटर का सबक्वेरी सिंटैक्स:
SELECT COLUMNNAME FROM TABLENAME WHERE COLUMNNAME IN (SELECT STATEMENT);
उपरोक्त सिंटैक्स में, हम IN ऑपरेटर का उपयोग सबक्वेरी के साथ भी कर सकते हैं।
आइए उदाहरणों की मदद से SQL SELECT IN कॉन्सेप्ट को समझते हैं।
निम्नलिखित तालिकाओं पर विचार करें जिनमें निम्नलिखित रिकॉर्ड हैं:
तालिका 1:कर्मचारी
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# | 5 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# | 5 |
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 |
तालिका 2:प्रबंधक
प्रबंधक | manager_name | प्रबंधक_विभाग |
1 | स्नेहदीप कौर | ओरेकल |
2 | कीर्ति कीर्तन | FMW |
3 | अभिषेक मनीष | जावा |
4 | अनुपम मिश्रा | परीक्षण |
5 | आकाश कदम | सी# |
उदाहरण 1: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम और शहर लाने के लिए एक प्रश्न लिखें जहां शहर में सूची में से एक मुंबई, पुणे और दिल्ली तालिका में शामिल है।
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, CITY FROM EMPLOYEES WHERE CITY IN ('MUMBAI', 'PUNE', 'DELHI');
उपरोक्त कथन में, हमने कर्मचारी आईडी, प्रथम और अंतिम नाम, और शहर को कर्मचारी तालिका से पुनर्प्राप्त किया है, जहां शहर में शहर का एक नाम शामिल है, मुंबई, पुणे और दिल्ली। इन सभी शहरों के नाम IN ऑपरेटर में मान के रूप में एक पैरामीटर के रूप में पास किए जाते हैं। तालिका में उन सभी रिकॉर्डों का पता लगाया जाएगा जिनके कर्मचारियों के शहर IN ऑपरेटर पैरामीटर शहर सूची से मेल खाते हैं।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | शहर |
1001 | वैभवी | मिश्रा | पुणे |
2002 | भावेश | जैन | पुणे |
2003 | रुचिका | जैन | मुंबई |
3001 | प्रानोटी | शेंडे | पुणे |
3003 | दीपम | जौहारी | मुंबई |
4001 | राजेश | GOUD | मुंबई |
4003 | रुचिका | अग्रवाल | दिल्ली |
5001 | ARCHIT | शर्मा | दिल्ली |
यह केवल आठ कर्मचारियों को दिखाता है जिनके शहर के नाम IN ऑपरेटर एक्सप्रेशन पैरामीटर सूची से मेल खाते हैं।
उदाहरण 2: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन, और विभाग लाने के लिए एक प्रश्न लिखें जहां वेतन में से एक सूची में 50500, 55500, और 65500 तालिका में शामिल है।
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT FROM EMPLOYEES WHERE SALARY IN (50500, 55500, 65500);
उपरोक्त कथन में, हमने कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम और अंतिम नाम, वेतन और विभाग को पुनः प्राप्त किया है जहां वेतन में से एक वेतन 50500, 55500 और 65500 है। इन सभी वेतनों को एक पैरामीटर के रूप में पारित किया जाता है। मान के रूप में ऑपरेटर में। तालिका में उन सभी रिकॉर्डों का पता लगाया जाएगा जिनके कर्मचारियों का वेतन IN ऑपरेटर पैरामीटर वेतन सूची से मेल खाता है।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | विभाग |
1001 | वैभवी | मिश्रा | 65500 | ओरेकल |
1003 | निखिल | वाणी | 50500 | FMW |
2001 | प्राची | शर्मा | 55500 | ओरेकल |
2002 | भावेश | जैन | 65500 | FMW |
3001 | प्रानोटी | शेंडे | 55500 | जावा |
3002 | अनुजा | WANRE | 50500 | FMW |
5001 | ARCHIT | शर्मा | 55500 | परीक्षण |
यह केवल सात कर्मचारियों को दिखाता है जिनका वेतन IN ऑपरेटर एक्सप्रेशन पैरामीटर सूची से मेल खाता है।
उदाहरण 3: कर्मचारियों से कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन और शहर प्राप्त करने के लिए एक प्रश्न लिखें जहां कर्मचारी वेतन 600000 से अधिक है या कर्मचारी शहर में से एक शहर सूची में शामिल है 'मुंबई', 'पुणे' और, 'जयपुर' तालिका में।
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEES WHERE SALARY > 60000 OR CITY IN ('PUNE', 'MUMBAI', 'JAIPUR');
उपरोक्त विवरण में, हमने कर्मचारियों की तालिका से कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन और शहर प्राप्त किया है जहां कर्मचारी वेतन 60000 से अधिक है या कर्मचारी शहर इस शहर की सूची में से एक है 'मुंबई', 'पुणे', ' जयपुर'। SELECT स्टेटमेंट WHERE क्लॉज फर्स्ट पार्ट सैलरी> 60000 . है और अंतिम भाग है सिटी इन ('पुणे', 'मुंबई', 'जयपुर'), जैसा कि हमने OR ऑपरेटर का उपयोग किया है, परिणाम दोनों स्थितियों से होगा।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर |
1001 | वैभवी | मिश्रा | 65500 | पुणे |
1003 | निखिल | वाणी | 50500 | जयपुर |
2002 | भावेश | जैन | 65500 | पुणे |
2003 | रुचिका | जैन | 50000 | मुंबई |
3001 | प्रानोटी | शेंडे | 55500 | पुणे |
3002 | अनुजा | WANRE | 50500 | जयपुर |
3003 | दीपम | जौहारी | 58500 | मुंबई |
4001 | राजेश | GOUD | 60500 | मुंबई |
यह तालिका से केवल आठ रिकॉर्ड दिखाता है जिनका वेतन 60000 से अधिक है या शहर के नाम IN ऑपरेटर अभिव्यक्ति पैरामीटर सूची से मेल खाते हैं।
उदाहरण 4: कर्मचारी तालिका से कर्मचारी आईडी, वेतन, शहर और विभाग को पुनः प्राप्त करने के लिए एक प्रश्न लिखें जहां कर्मचारी विभाग में सूची में से एक 'ओरेकल', 'एफएमडब्ल्यू' शामिल है और शहर में एक सूची 'दिल्ली', 'नोएडा' भी शामिल है। 'पुणे'।
SELECT EMPLOYEEID, SALARY, CITY, DEPARTMENT FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW') AND CITY IN ('PUNE', 'NOIDA', 'DELHI');
हमने उपरोक्त विवरण में कर्मचारी की तालिका से कर्मचारी आईडी, वेतन, शहर और विभाग को पुनः प्राप्त किया है। कर्मचारी विभाग में IN ऑपरेटर पैरामीटर को पास की गई विभाग सूची में से एक शामिल है। कर्मचारी शहर में IN ऑपरेटर पैरामीटर को पास की गई शहर सूची में से एक शामिल है, और परिणाम में केवल वे कर्मचारी विवरण शामिल हैं जो दोनों शर्तों से मेल खाते हैं।
आउटपुट:
कर्मचारी | वेतन | शहर | विभाग |
1001 | 65500 | पुणे | ओरेकल |
2002 | 65500 | पुणे | FMW |
4003 | 60000 | दिल्ली | ओरेकल |
कर्मचारी तालिका से केवल तीन रिकॉर्ड हैं जिनके कर्मचारी शहर में पुणे, दिल्ली और नोएडा शामिल हैं, और विभाग में Oracle, FMW शामिल हैं।
उदाहरण 5: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, वेतन, शहर और विभाग प्राप्त करने के लिए एक प्रश्न लिखें जहां कर्मचारी का वेतन 600000 से अधिक है और शहर में पुणे, जयपुर, मुंबई या विभाग में से एक सूची शामिल है। सूचियाँ जावा, परीक्षण, C# है।
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, DEPARTMENT FROM EMPLOYEES WHERE SALARY > 60000 AND CITY IN ('PUNE', 'MUMBAI', 'JAIPUR') OR DEPARTMENT IN ('JAVA', 'TESTING', 'C#');
उपरोक्त कथन में, हमने कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, वेतन, शहर और विभाग प्राप्त करने के लिए OR ऑपरेटर, AND ऑपरेटर, और SELECT स्टेटमेंट के साथ कई IN ऑपरेटर का उपयोग किया है। सेलेक्ट क्वेरी पहले कर्मचारी रिकॉर्ड प्राप्त करती है जहां वेतन> 60000 और शहर ('पुणे', 'मुंबई', जयपुर), केवल वे कर्मचारी हैं। दोनों स्थितियां सही हैं, और अंत में डिपार्टमेंट IN ('जावा', 'टेस्टिंग', 'सी#') में, यह क्वेरी पहले चरण के परिणाम में खोज करेगी कि उन कर्मचारियों के रिकॉर्ड जिन्हें हमने प्राप्त किया था, उनमें से एक सूची विभाग को हमने पास की थी। IN ऑपरेटर और तालिका के बाकी रिकॉर्ड्स के लिए भी जाएं यदि कोई रिकॉर्ड विभाग के नाम वाला पाया जाता है तो हम IN ऑपरेटर पैरामीटर को पास कर देते हैं, जो रिकॉर्ड परिणाम में जोड़ दिया जाएगा।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# |
2002 | भावेश | जैन | 65500 | पुणे | FMW |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण |
कर्मचारियों के केवल 9 रिकॉर्ड हैं जिनका वेतन 60000 से अधिक है। सिटी में एक सूची शामिल है जिसे हमने सिटी आईएन ऑपरेटर या विभाग को एक पैरामीटर के रूप में पारित किया है जिसमें एक सूची शामिल है जिसे हमने विभाग आईएन ऑपरेटर को दिया है।
उदाहरण 6: कर्मचारी तालिका से कर्मचारी विवरण प्राप्त करने के लिए एक उप-क्वेरी लिखें जहां प्रबंधक तालिका प्रबंधक तालिका से 2 से अधिक है।
SELECT * FROM EMPLOYEES WHERE MANAGERID IN (SELECT MANAGERID FROM MANAGER WHERE MANAGERID > 2);
ऊपर दिए गए कथन में, पहली सबक्वेरी निष्पादित की जाएगी मैनेजर से MANAGERID चुनें जहां MANAGERID> 2; आउटपुट प्रबंधक आईडी होगा जो मुख्य क्वेरी WHERE क्लॉज में पैरामीटर के रूप में 2 पास से अधिक है, और अंतिम आउटपुट कर्मचारी तालिका से होगा जहां कर्मचारी-प्रबंधक आईडी में एक सूची शामिल है जो उप-क्वेरी का आउटपुट है।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# | 5 |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# | 5 |
कर्मचारी की तालिका से केवल सात रिकॉर्ड हैं जिनकी प्रबंधक आईडी 2 से अधिक है।
उदाहरण 7: कर्मचारी के विवरण प्राप्त करने के लिए एक उप-क्वेरी लिखें जहां प्रबंधक विभाग में एक सूची शामिल है, एक ओरेकल, जावा और एफएमडब्ल्यू है।
SELECT * FROM EMPLOYEES WHERE MANAGERID IN (SELECT MANAGERID FROM MANAGER WHERE MANAGER_DEPARTMENT IN ('ORACLE', 'FMW', 'JAVA'));
उपरोक्त कथन में, हम पहले प्रबंधक आईडी को प्रबंधक तालिका से प्राप्त करते हैं जहाँ प्रबंधक विभाग में Oracle, FMW, Java सूचियों में से एक शामिल है। फिर मुख्य क्वेरी उप-क्वेरी के आउटपुट से कर्मचारी का विवरण प्राप्त करेगी।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
3002 | अनुजा | WANRE | 50500 | जयपुर | FMW | 2 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
उदाहरण 8: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन, शहर प्राप्त करने के लिए एक प्रश्न लिखें जहां वेतन 50000 और 65000 के बीच है या शहर में पुणे, जयपुर और मुंबई में से एक सूची शामिल है।
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEES WHERE SALARY BETWEEN 50000 AND 65000 OR CITY IN ('PUNE', 'MUMBAI', 'JAIPUR');
उपरोक्त कथन में, हमने कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, वेतन और शहर प्राप्त किया है जहां कर्मचारी वेतन 50000 और 65000 के बीच या शहर में से एक सूची पुणे, मुंबई, जयपुर में शामिल है।पी>
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर |
1001 | वैभवी | मिश्रा | 65500 | पुणे |
1002 | वैभव | शर्मा | 60000 | नोएडा |
1003 | निखिल | वाणी | 50500 | जयपुर |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ |
2002 | भावेश | जैन | 65500 | पुणे |
2003 | रुचिका | जैन | 50000 | मुंबई |
3001 | प्रानोटी | शेंडे | 55500 | पुणे |
3002 | अनुजा | WANRE | 50500 | जयपुर |
3003 | दीपम | जौहारी | 58500 | मुंबई |
4001 | राजेश | GOUD | 60500 | मुंबई |
4002 | अश्विनी | बगत | 54500 | नोएडा |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली |