SQL इंटरसेक्ट ऑपरेटर का उपयोग दो या दो से अधिक SELECT स्टेटमेंट को संयोजित करने के लिए किया जाता है, लेकिन यह केवल SELECT स्टेटमेंट के समान डेटा प्रदर्शित करता है।
इंटर्सेक्ट ऑपरेशन के लिए सिंटैक्स:
SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAME3 FROM TABLE_NAME1 INTERSECT SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAME3 FROM TABLE_NAME2;
INTERSECT ऑपरेटर का उपयोग करके पालन किए जाने वाले नियम इस प्रकार हैं:
- कॉलम की संख्या और कॉलम का क्रम समान होना चाहिए।
- डेटा प्रकार संगत होना चाहिए।
आइए उदाहरणों की सहायता से SQL INTERSECT की अवधारणा को समझते हैं।
दिए गए अभिलेखों के साथ निम्नलिखित तालिकाओं पर विचार करें।
तालिका 1:छात्र
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
1 | नेहा | 85 | 88 | 100 | 273 |
2 | विशाल | 70 | 90 | 82 | 242 |
3 | संकीट | 75 | 88 | 96 | 259 |
4 | निखिल | 60 | 75 | 80 | 215 |
5 | योगेश | 56 | 65 | 78 | 199 |
6 | अंकिता | 95 | 85 | 96 | 276 |
7 | सोनम | 98 | 89 | 100 | 287 |
8 | विनीत | 85 | 90 | 100 | 275 |
9 | संकेट | 86 | 78 | 65 | 229 |
10 | प्राची | 90 | 80 | 75 | 245 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
103 | विशाल | 75 | 88 | 96 | 259 |
तालिका 2:स्टड
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
4 | निखिल | 60 | 75 | 80 | 215 |
6 | अंकिता | 95 | 85 | 96 | 276 |
7 | सोनम | 98 | 89 | 100 | 287 |
9 | संकेट | 86 | 78 | 65 | 229 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
102 | संकीट | 70 | 90 | 82 | 242 |
103 | विशाल | 75 | 88 | 96 | 259 |
105 | योगेश्वरी | 56 | 65 | 78 | 199 |
106 | विनय | 85 | 90 | 100 | 275 |
107 | प्रशाका | 90 | 80 | 75 | 245 |
8 | विनीत | 85 | 90 | 100 | 275 |
उदाहरण 1: स्टूडेंट टेबल और स्टड टेबल के बीच इंटरसेक्ट ऑपरेशन करने के लिए एक क्वेरी निष्पादित करें।
SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD;
उपरोक्त क्वेरी में, हमने दो सेलेक्ट प्रश्नों का उपयोग किया है। पहली चयन क्वेरी छात्र तालिका से डेटा प्राप्त करती है। यह दूसरी सेलेक्ट क्वेरी द्वारा प्राप्त डेटा के साथ इंटरसेक्ट ऑपरेशन करता है जो स्टड टेबल से डेटा को पुनः प्राप्त करता है। इन दो तालिकाओं के बीच केवल समान रिकॉर्ड चुने गए हैं।
उपरोक्त क्वेरी का आउटपुट है:
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
4 | निखिल | 60 | 75 | 80 | 215 |
6 | अंकिता | 95 | 85 | 96 | 276 |
7 | सोनम | 98 | 89 | 100 | 287 |
8 | विनीत | 85 | 90 | 100 | 275 |
9 | संकेट | 86 | 78 | 65 | 229 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
103 | विशाल | 75 | 88 | 96 | 259 |
विद्यार्थी तालिका और स्टड तालिकाओं के बीच केवल सामान्य रिकॉर्ड प्रदर्शित किए जाते हैं।
उदाहरण 2: स्टूडेंट टेबल और स्टड टेबल के बीच इंटरसेक्ट ऑपरेशन करने के लिए एक क्वेरी निष्पादित करें लेकिन स्टड टेबल से केवल उन्हीं स्टूडेंट रिकॉर्ड्स को प्रदर्शित करें जहां गणित के अंक 100 के बराबर हों।
SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD WHERE MATHS_MARKS = 100;
उपरोक्त क्वेरी का आउटपुट है:
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
7 | सोनम | 98 | 89 | 100 | 287 |
8 | विनीत | 85 | 90 | 100 | 275 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
केवल उन छात्रों के रिकॉर्ड प्रदर्शित किए जाते हैं जिनके गणित के अंक स्टड टेबल से 100 के बराबर होते हैं और छात्र और स्टड टेबल दोनों के बीच समान होते हैं।
उदाहरण 3: छात्र तालिका और स्टड तालिका के बीच इंटरसेक्ट ऑपरेशन करने के लिए एक क्वेरी निष्पादित करें लेकिन छात्र तालिका से केवल उन छात्र रिकॉर्ड प्रदर्शित करें जहां रसायन विज्ञान के अंक 80 से अधिक हैं।
SELECT * FROM STUDENT WHERE CHEMISTRY_MARKS > 80 INTERSECT SELECT * FROM STUD;
उपरोक्त क्वेरी का आउटपुट है:
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
6 | अंकिता | 95 | 85 | 96 | 276 |
7 | सोनम | 98 | 89 | 100 | 287 |
8 | विनीत | 85 | 90 | 100 | 275 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
103 | विशाल | 75 | 88 | 96 | 259 |
केवल उन छात्रों के रिकॉर्ड प्रदर्शित किए जाते हैं जिनके रसायन विज्ञान के अंक छात्र तालिका से 80 से अधिक होते हैं और छात्र और स्टड तालिका दोनों के बीच समान होते हैं।
उदाहरण 4: छात्र तालिका और स्टड तालिका के बीच इंटरसेक्ट ऑपरेशन करने के लिए एक क्वेरी निष्पादित करें और केवल उन छात्र रिकॉर्ड को प्रदर्शित करें जहां छात्र तालिका से भौतिकी के अंक 75 से अधिक हैं, और दूसरी चुनिंदा क्वेरी जो केवल वे छात्र रिकॉर्ड प्रदर्शित करती हैं जहां गणित के अंक 90 से अधिक हैं। स्टड।
SELECT * FROM STUDENT WHERE PHYSICS_MARKS > 75 INTERSECT SELECT * FROM STUD WHERE MATHS_MARKS > 90;
उपरोक्त क्वेरी का आउटपुट है:
STUDENT_ID | STUDENT_NAME | PHYSICS_MARKS | CHEMISTRY_MARKS | MATHS_MARKS | TOTAL_MARKS |
6 | अंकिता | 95 | 85 | 96 | 276 |
7 | सोनम | 98 | 89 | 100 | 287 |
8 | विनीत | 85 | 90 | 100 | 275 |
101 | स्नेहा | 85 | 88 | 100 | 273 |
केवल उन छात्रों के रिकॉर्ड प्रदर्शित किए जाते हैं जिनके भौतिकी के अंक छात्र तालिका से 75 से अधिक हैं, और गणित के अंक स्टड तालिका से 90 से अधिक हैं और छात्र और स्टड तालिका दोनों के बीच समान हैं।