सामान्य तौर पर, हम MySQL में ON का उपयोग करते हैं। जॉइन में, हम कॉलम के एक सेट में ON का उपयोग करते हैं। उपयोग तब उपयोगी होता है जब दोनों तालिकाएं ठीक उसी नाम का कॉलम साझा करती हैं जिस पर वे जुड़ते हैं।
चालू का उदाहरण।
हमारी पहली तालिका बनाना।
mysql> क्रिएट टेबल फॉरेनटेबलडेमो -> (-> आईडी इंट, -> नाम वर्कर (100), -> एफके इंट ->); क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.47 सेकंड)
हमारी दूसरी तालिका बनाना।
mysql> तालिका बनाएं PrimaryTableDemo -> ( -> FK int, -> पता varchar(100), -> प्राथमिक कुंजी (FK) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.47 सेकंड)
आइए अब बाधाओं को जोड़ें।
mysql> ALTER तालिका विदेशीटेबल डेमो बाधा जोड़ें FKConst विदेशी कुंजी (FK) संदर्भ PrimaryTableDemo (FK); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.54 सेकंड) रिकॉर्ड:0 डुप्लिकेट:0 चेतावनियाँ:0
दूसरी तालिका में रिकॉर्ड जोड़ने के लिए।
mysql> PrimaryTableDemo मानों में सम्मिलित करें(1,'US'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड)mysql> PrimaryTableDemo मानों में सम्मिलित करें (2, 'UK'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) )mysql> PrimaryTableDemo मानों में सम्मिलित करें(3,'अज्ञात');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.08 सेकंड)
सभी रिकॉर्ड प्रदर्शित करना।
mysql> PrimaryTableDemo से * चुनें;
निम्न आउटपुट है।
+-----+---------+| एफके | पता |+----+---------+| 1 | यूएस || 2 | यूके || 3 | अज्ञात |+-----+---------+3 पंक्तियाँ सेट में (0.00 सेकंड)
अब, पहली तालिका में रिकॉर्ड जोड़ने के लिए।
mysql> फॉरेनटेबलडेमो वैल्यूज में INSERT (1,'जॉन',1);क्वेरी ओके, 1 रो प्रभावित (0.20 सेकंड)mysql> फॉरेनटेबलडेमो वैल्यूज में INSERT (2,'बॉब',2);क्वेरी ओके, 1 रो प्रभावित (0.27 सेकंड)
आइए अब हम पहली तालिका के सभी रिकॉर्ड प्रदर्शित करते हैं।
mysql> फॉरेनटेबलडेमो से * चुनें;
यहाँ आउटपुट है।
<पूर्व>+----------+----------+------+| आईडी | नाम | एफके |+----------+----------+------+| 1 | जॉन | 1 || 2 | बॉब | 2 |+------+------+------+2 पंक्तियाँ सेट में (0.00 सेकंड)स्ट्रेट जॉइन की क्वेरी जो केवल मेल खाने वाली पंक्तियों को प्रदर्शित करती है, नीचे दिखाई गई है। हमने यहां ON का उपयोग किया है।
mysql> विदेशीटेबल डेमो चुनें।निम्न आउटपुट है।
<पूर्व>+----------+------+-----------+| आईडी | नाम | पता |+------+------+------------+| 1 | जॉन | यूएस || 2 | बॉब | यूके |+------+------+------------+2 पंक्तियों में सेट (0.14 सेकंड)
उपयोग का उदाहरण।
MySQL में USING का सिंटैक्स निम्नलिखित है, जो उस रिकॉर्ड को प्रदर्शित करता है जहां FK =1.
mysql> फॉरेनटेबलडेमो से * चुनें प्राइमरीटेबल डेमो में शामिल हों (एफके) जहां एफके =1;
यहाँ आउटपुट है।
<पूर्व>+----------+------+----------+-----------+| एफके | आईडी | नाम | पता |+------+------+----------+-----------+| 1 | 1 | जॉन | यूएस |+------+------+------+-----------+1 पंक्ति में सेट (0.09 सेकंड)