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 सेकंड)