एक MySQL तालिका से रिकॉर्ड खोजने के लिए जो किसी अन्य तालिका में मौजूद नहीं है, हम उस तालिका के लिए उप-क्वेरी का उपयोग कर सकते हैं जिसमें रिकॉर्ड नहीं हैं। इसे दिए गए चरणों का उपयोग करके बेहतर ढंग से समझा जा सकता है -
सबसे पहले create कमांड का उपयोग करके एक टेबल बनाई जाती है। तालिका का नाम 'प्रेजेंट हिस्ट्री' है और इसमें दो कॉलम हैं। यह इस प्रकार दिया गया है -
mysql> तालिका बनाएं PresentHistory-> (-> HisID int,-> HisName varchar(100)-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड)
टेबल बनाने के बाद कुछ रिकॉर्ड डाले जाते हैं जो दूसरी टेबल में भी मौजूद रहेंगे। यह इन्सर्ट कमांड की मदद से निम्न प्रकार से किया जाता है -
mysql> PresentHistory मानों में INSERT (1, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> PresentHistory मानों में सम्मिलित करें (2, 'बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) )
रिकॉर्ड्स को सफलतापूर्वक डालने के बाद, उन्हें निम्न प्रकार से चयन विवरण के साथ प्रदर्शित किया जाता है -
mysql> PresentHistory से * चुनें;
उपरोक्त क्वेरी को निष्पादित करने के बाद, प्राप्त आउटपुट है।
<पूर्व>+----------+------------+| हिसआईडी | उसका नाम |+----------+------------+| 1 | जॉन || 2 | बॉब |+----------+--------+2 पंक्तियों में सेट (0.00 सेकंड)अब, create कमांड का उपयोग करके एक दूसरी टेबल बनाई जाती है। इस तालिका को 'पास्टहिस्ट्री' नाम दिया गया है और इसमें नीचे दिए गए अनुसार दो कॉलम हैं।
mysql> तालिका बनाएं PastHistory-> (-> PastId int,-> PastName varchar(100)-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.74 सेकंड)
तालिका बनाने के बाद, कुछ रिकॉर्ड जो पहली तालिका में मौजूद हैं और कुछ रिकॉर्ड जो पहली तालिका में मौजूद नहीं हैं, उन्हें पास्टहिस्ट्री टेबल में डाला जाता है।
mysql> PastHistory मानों में सम्मिलित करें(1,'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> PastHistory मानों में INSERT (2, 'बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) )mysql> PastHistory मानों में INSERT (3, 'कैरोल'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> पास्टहिस्ट्री मानों में INSERT (4, 'जेसन'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.16 सेकंड)पूर्व>अब, दूसरी तालिका में 4 रिकॉर्ड हैं। इनमें से 2 रिकॉर्ड पहली टेबल से हैं और 2 रिकॉर्ड दूसरी टेबल में अलग हैं।
दूसरी तालिका में अभिलेखों को चयन कथन की सहायता से निम्न प्रकार से देखा जाता है -
mysql> PastHistory से * चुनें;उपरोक्त क्वेरी का आउटपुट है
<पूर्व>+----------+----------+| पास्टआईड | पास्टनाम |+----------+----------+| 1 | जॉन || 2 | बॉब || 3 | कैरल || 4 | जेसन |+-----------+----------+4 पंक्तियों में सेट (0.00 सेकंड)
एक तालिका से रिकॉर्ड की जाँच करने के लिए सिंटैक्स जो दूसरी तालिका में मौजूद नहीं है, इस प्रकार दिया गया है -
अपने सेकेंडटेबलनाम से चुनें * जहां कॉलमनामसेसेकंडटेबल नॉट इन (सेलेक्ट कॉलमनामफ्रॉमफर्स्टटेबल फ्रॉम योरफर्स्टटेबलनाम);
दी गई क्वेरी का उपयोग दूसरी तालिका में अलग-अलग रिकॉर्ड प्राप्त करने के लिए किया जाता है -
mysql> पास्टहिस्ट्री से चुनें * जहां पास्टनाम नहीं है (PresentHistory से उसका नाम चुनें);
उपरोक्त क्वेरी का आउटपुट इस प्रकार है -
<पूर्व>+----------+----------+| पास्टआईड | पास्टनाम |+----------+----------+| 3 | कैरल || 4 | जेसन |+-----------+----------+2 पंक्तियों में सेट (0.00 सेकंड)उपरोक्त आउटपुट से यह स्पष्ट है कि हमें दो रिकॉर्ड मिले हैं जो पहली तालिका में मौजूद नहीं हैं।