तुलना के लिए INTERSECT और EXCEPT
दो डेटासेट के बीच समान और अलग ROW खोजें
तुलना के लिए INTERSECT और EXCEPT, CoddyKit पर SQL साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
तुलना संचालक
INTERSECT और EXCEPT दो परिणाम-समुच्चयों को मिलाने के बजाय उनकी तुलना करने वाले समुच्चय संचालक हैं। साक्षात्कारकर्ता इनका उपयोग ऐसे प्रश्नों में करते हैं जैसे "कौन से ग्राहक दोनों सूचियों में हैं" या "कौन सी पंक्तियाँ A में हैं लेकिन B में नहीं"।
INTERSECT= दोनों क्वेरियों में मौजूद पंक्तियाँ।EXCEPT= पहली क्वेरी में मौजूद, लेकिन दूसरी में अनुपस्थित पंक्तियाँ।
INTERSECT क्या लौटाता है
INTERSECT केवल वे अलग-अलग पंक्तियाँ लौटाता है जो दोनों परिणाम-समुच्चयों में दिखाई देती हैं। किसी पंक्ति को समान मानने के लिए उसके हर कॉलम का मेल खाना आवश्यक है।
UNION की तरह, साधारण INTERSECT दोहराव हटा देता है और हर सामान्य पंक्ति को केवल एक बार लौटाता है।
SELECT customer_id FROM orders_2023
INTERSECT
SELECT customer_id FROM orders_2024;
-- customers who ordered in BOTH yearsEXCEPT क्या लौटाता है
EXCEPT (ओरेकल में MINUS कहलाता है) पहली क्वेरी की वे अलग-अलग पंक्तियाँ लौटाता है जो दूसरी में दिखाई नहीं देतीं। यह दिशात्मक है: A EXCEPT B और B EXCEPT A अलग-अलग परिणाम देते हैं।
दूसरे आँकड़ा-समुच्चय में अनुपस्थित रिकॉर्ड खोजने का यह स्वाभाविक तरीका है।
SELECT customer_id FROM orders_2023
EXCEPT
SELECT customer_id FROM orders_2024;
-- ordered in 2023 but NOT in 2024 (churned)EXCEPT सममित नहीं है
साक्षात्कार में पूछा जाने वाला एक महत्वपूर्ण बिंदु: EXCEPT दिशात्मक है। दोनों क्वेरियों को अदल-बदल देने से अलग प्रश्न का उत्तर मिलता है।
A EXCEPT B= A में, B में नहीं।B EXCEPT A= B में, A में नहीं।
इसके विपरीत, INTERSECT सममित है: A INTERSECT B का परिणाम B INTERSECT A के बराबर होता है।
-- new customers in 2024 (not seen in 2023):
SELECT customer_id FROM orders_2024
EXCEPT
SELECT customer_id FROM orders_2023;दोहराव और DISTINCT का पूर्वनिर्धारित व्यवहार
मानक INTERSECT और EXCEPT UNION की तरह अलग-अलग पंक्तियों पर काम करते हैं। तुलना से पहले इनपुट की दोहराई गई पंक्तियाँ एक ही पंक्ति में सिमट जाती हैं।
कुछ आँकड़ा-भंडार INTERSECT ALL और EXCEPT ALL का समर्थन करते हैं, जो पंक्तियों की पुनरावृत्ति की संख्या बनाए रखते हैं, लेकिन ये कम प्रचलित हैं। यदि साक्षात्कारकर्ता ALL न कहे, तो अलग-अलग पंक्तियों वाला अर्थ मानें।
SELECT city FROM a
INTERSECT ALL
SELECT city FROM b;
-- multiplicity-aware (Postgres supports this; MySQL 8+ too)समानता के लिए पूरी पंक्तियों की तुलना
दोनों संचालक चुने गए सभी कॉलमों में पूरी पंक्तियों की तुलना करते हैं। दो पंक्तियाँ तभी समान होती हैं जब उनका हर कॉलम मेल खाता हो। इसलिए ये यह पता लगाने के लिए उपयुक्त हैं कि दो तालिकाओं में बिल्कुल समान आँकड़े हैं या नहीं।
तुलना को सार्थक रखने के लिए वे सभी आवश्यक कॉलम चुनें।
SELECT id, name, email FROM prod_users
EXCEPT
SELECT id, name, email FROM staging_users;
-- rows in prod that differ from / are missing in stagingतालिकाओं के अंतर की दो-तरफ़ा विधि
यह जाँचने के लिए कि दो तालिकाएँ एक जैसी हैं, दोनों दिशाओं में EXCEPT चलाएँ और मिले हुए अंतर को जोड़ें। यदि संयुक्त परिणाम खाली है, तो तालिकाएँ बिल्कुल मेल खाती हैं।
स्थानांतरण और मिलान-जाँच के लिए साक्षात्कार में यह आँकड़ा-सत्यापन का एक पारंपरिक उत्तर है।
(SELECT * FROM table_a EXCEPT SELECT * FROM table_b)
UNION ALL
(SELECT * FROM table_b EXCEPT SELECT * FROM table_a);
-- empty result => tables are identicalNULL के साथ होने वाला व्यवहार
समुच्चय संचालन के भीतर, मिलान के लिए दो NULL मानों को एक-दूसरे के बराबर माना जाता है। यह सामान्य व्यवहार से अलग है, जहाँ NULL = NULL का परिणाम UNKNOWN होता है।
इसलिए किसी कॉलम में NULL वाली पंक्ति उसी स्थान पर NULL वाली दूसरी पंक्ति से मेल खाएगी। साक्षात्कारकर्ता इसकी जाँच करते हैं क्योंकि यह सामान्य तुलना नियमों के विपरीत है।
-- (1, NULL) INTERSECT (1, NULL) -> returns (1, NULL)
SELECT id, region FROM a
INTERSECT
SELECT id, region FROM b;समुच्चय संचालकों के बीच प्राथमिकता
संचालकों को मिलाते समय, SQL मानक के अनुसार INTERSECT सामान्यतः UNION और EXCEPT की तुलना में अधिक प्राथमिकता से जुड़ता है। अस्पष्टता से बचने के लिए शाखाओं को कोष्ठकों में रखें।
यह बताना कि आप मूल्यांकन क्रम स्पष्ट करने के लिए कोष्ठक लगाते हैं, साक्षात्कार में आपकी परिपक्व समझ दिखाता है।
(SELECT id FROM a EXCEPT SELECT id FROM b)
UNION
(SELECT id FROM c);INTERSECT/EXCEPT बनाम JOIN चुनना
INTERSECT और EXCEPT संक्षिप्त होते हैं और अंतर्निहित रूप से दोहराव हटाते हुए पूरी पंक्तियों की तुलना करते हैं। JOIN अधिक लचीले होते हैं: आप अतिरिक्त कॉलम लौटा सकते हैं और दोहराव को संभालने का तरीका चुन सकते हैं।
जब प्रश्न केवल यह हो कि "कौन सी पंक्तियाँ समान या अनुपस्थित हैं", तब समुच्चय संचालकों को प्राथमिकता दें। जब आपको दोनों पक्षों के कॉलम चाहिए हों या SQL भाषा-रूप में ये संचालक उपलब्ध न हों, तब JOIN का उपयोग करें।
इसे समग्र रूप से समझना
आप यह सारांश दोहरा सकते हैं: "INTERSECT दोनों क्वेरियों में मौजूद पंक्तियाँ लौटाता है और सममित है; EXCEPT पहली क्वेरी में मौजूद, लेकिन दूसरी में अनुपस्थित पंक्तियाँ लौटाता है और दिशात्मक है। दोनों पूरी पंक्तियों की तुलना करते हैं, NULL को बराबर मानते हैं और पूर्वनिर्धारित रूप से अलग-अलग परिणाम देते हैं।"
आँकड़ों के मिलान-जाँच वाले अतिरिक्त प्रश्न के लिए दोनों दिशाओं में EXCEPT चलाने की तरकीब जोड़ दें, और यह विषय पूरी तरह स्पष्ट हो जाएगा।
त्वरित जाँच
आप ऐसे ग्राहक चाहते हैं जिन्होंने 2023 में ऑर्डर किया था, लेकिन 2024 में ऑर्डर NOT किया था (ऑर्डर छोड़ चुके ग्राहक)।
पुनरावलोकन
मुख्य बातें:
INTERSECT= दोनों क्वेरियों में मौजूद पंक्तियाँ; सममित।EXCEPT(ओरेकल: MINUS) = पहली क्वेरी में मौजूद, दूसरी में नहीं; दिशात्मक।- दोनों पूरी पंक्तियों की तुलना करते हैं और पूर्वनिर्धारित रूप से अलग-अलग परिणाम देते हैं।
- मिलान के लिए NULL को बराबर माना जाता है।
- दोनों दिशाओं में
EXCEPTचलाने से तालिकाओं का पूरा अंतर मिलता है।
एआई शिक्षक के साथ SQL सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “तुलना के लिए INTERSECT और EXCEPT” पाठ निःशुल्क है?
हाँ—“तुलना के लिए INTERSECT और EXCEPT” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“तुलना के लिए INTERSECT और EXCEPT” में मैं क्या सीखूँगा?
दो डेटासेट के बीच समान और अलग ROW खोजें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या SQL साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“तुलना के लिए INTERSECT और EXCEPT” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस SQL साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर SQL साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- UNION बनाम UNION ALL
- COLUMN की संख्या और प्रकार की संगतता
- तुलना के लिए INTERSECT और EXCEPT
- JOIN से समुच्चय संचालन का अनुकरण