Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में क्रॉस जॉइन को सही तरीके से कैसे लागू करें?

<घंटा/>

MySQL में क्रॉस जॉइन शामिल टेबल से पंक्तियों का कार्टेशियन उत्पाद लौटाता है। आइए एक टेबल बनाकर एक उदाहरण देखें -

mysql> तालिका बनाएं PairDemo -> (-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20), -> UserRelationshipName varchar(20) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) 

उदाहरण

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> PairDemo (उपयोगकर्ता नाम, उपयोगकर्ता संबंध नाम) मान ('जॉन', 'जेम्स') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> PairDemo (उपयोगकर्ता नाम, उपयोगकर्ता संबंध नाम) मान ('कैरोल', 'जेम्स'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> PairDemo (उपयोगकर्ता नाम, उपयोगकर्ता संबंध नाम) मान ('कैरोल', 'डेविड') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.25 सेकंड) mysql> में डालें PairDemo(UserName,UserRelationshipName) मान ('सैम', 'डेविड'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> PairDemo से *चुनें;

आउटपुट

<पूर्व>+----------+----------+---------------------+| उपयोगकर्ता आईडी | उपयोगकर्ता नाम | UserRelationshipName |+-----------+----------+--------------------------+| 1 | जॉन | जेम्स || 2 | कैरल | जेम्स || 3 | कैरल | डेविड || 4 | सैम | डेविड |+----------+----------+--------------------------+सेट में 4 पंक्तियाँ (0.00 सेकंड)

क्रॉस जॉइन लागू करने की क्वेरी निम्नलिखित है -

mysql> चुनें U.UserName, UR.UserRelationshipName -> FROM ( -> (PairDemo से DISTINCT UserName चुनें) U -> क्रॉस जॉइन -> (PairDemo से DISTINCT UserRelationshipName चुनें) UR -> ) जहां मौजूद नहीं है ( -> चुनें * PairDemo tbl से -> जहां tbl.UserName =U.UserName -> और tbl.UserRelationshipName =UR.UserRelationshipName -> );

यहां आउटपुट है जो क्रॉस जॉइन को लागू करने वाली उपरोक्त क्वेरी का परिणाम प्रदर्शित करता है -

<पूर्व>+----------+--------------------------+| उपयोगकर्ता नाम | UserRelationshipName |+----------+--------------------------+| सैम | जेम्स || जॉन | डेविड |+----------+---------------------+2 पंक्तियों में सेट (0.03 सेकंड)
  1. MySQL में रोलअप के साथ सही तरीके से कैसे उपयोग करें?

    रोलअप के साथ उपयोग करने के लिए सिंटैक्स इस प्रकार है - रोलअप के साथ अपने ColumnName1 द्वारा अपनेTableName समूह से अपना ColumnName1,sum(yourColumnName2) चुनें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.44 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTabl

  1. MySQL संग्रहीत प्रक्रिया में शर्तों को सही ढंग से कैसे कार्यान्वित करें?

    संग्रहीत कार्यविधि में शर्तें सेट करने के लिए, नीचे दिए गए सिंटैक्स का उपयोग करें - अगर आपका कंडीशन है तो yourStatement1; अन्यथा आपका स्टेटमेंट 2; अगर अंत; अंत // संग्रहीत प्रक्रिया में लापता अर्धविराम को ठीक करने के लिए उपरोक्त सिंटैक्स को लागू करें - सीमांकक; अब आप कॉल कमांड का उपयोग करके संग्

  1. MySQL संग्रहीत कार्यविधि में DELIMITER का सही उपयोग कैसे करें?

    सही तरीका इस प्रकार है - DELIMITER//अपनी StoredProcedureName()BEGIN अगर आपकी कंडीशन है तो yourStatement1;else yourStatement2;END IF;END//DELIMITER; आइए अब एक उदाहरण देखें और एक संग्रहित प्रक्रिया बनाएं - DELIMITER; अब आप कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल कर सकते हैं कॉल delimiter