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

MySQL में कॉमा से SELECT स्टेटमेंट जोड़ें (क्रॉस जॉइन)

MySQL में दो टेबल के बीच कॉमा (`,`) का उपयोग करना CROSS JOIN के समान है: यह कार्टेशियन गुणनफल (प्रत्येक पंक्ति × प्रत्येक पंक्ति) उत्पन्न करता है।

सिंटैक्स

-- कॉमा सिंटैक्स (पुराना)
SELECT * FROM table1, table2;

-- स्पष्ट CROSS JOIN (अनुशंसित)
SELECT * FROM table1 CROSS JOIN table2;

टेबल बनाएं

mysql> CREATE TABLE DemoTable1882 (Id INT);
mysql> CREATE TABLE DemoTable1883 (Id INT);

डेटा डालें

mysql> INSERT INTO DemoTable1882 VALUES(10), (20), (30);
mysql> INSERT INTO DemoTable1883 VALUES(100), (101), (102);

कॉमा जॉइन (कार्टेशियन गुणनफल)

mysql> SELECT * FROM DemoTable1882, DemoTable1883;

आउटपुट (9 पंक्तियाँ = 3 × 3):

+------+------+
| Id   | Id   |
+------+------+
|   10 |  100 |
|   20 |  100 |
|   30 |  100 |
|   10 |  101 |
|   20 |  101 |
|   30 |  101 |
|   10 |  102 |
|   20 |  102 |
|   30 |  102 |
+------+------+

CROSS JOIN (समान परिणाम)

mysql> SELECT * FROM DemoTable1882 CROSS JOIN DemoTable1883;

कब उपयोग करें

  • सभी संयोजन उत्पन्न करना (रिपोर्ट मैट्रिक्स, टेस्ट डेटा)।
  • छोटी टेबल (कॉन्फिग, लुकअप) के साथ बड़ी टेबल जोड़ना।

सावधानी

  • बड़ी टेबल पर कार्टेशियन गुणनफल भारी होता है (N × M पंक्तियाँ)।
  • आमतौर पर INNER JOIN ... ON condition उपयोग करें।
  • कॉमा जॉइन में WHERE से फ़िल्टर करना INNER JOIN के समान है।

कॉमा जॉइन + WHERE = INNER JOIN

SELECT * FROM t1, t2 WHERE t1.id = t2.id;
-- समतुल्य
SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id;
  1. - MySQL SELECT क्वेरी में ALIAS (उपनाम) कैसे उपयोग करें

    AS कीवर्ड के साथ कॉलम और टेबल का उपनाम देना MySQL में कॉलम या टेबल को अस्थायी नाम (उपनाम) देने के लिए AS कीवर्ड का उपयोग करें। यह वैकल्पिक है लेकिन पठनीयता बढ़ाता है। टेबल और डेटा CREATE TABLE DemoTable ( Name VARCHAR(100) ); Query OK, 0 rows affected (0.51 sec) INSERT INTO DemoTable VALUES(

  1. - MySQL क्वेरी में LIKE CONCAT() का उपयोग कैसे करें?

    MySQL LIKE CONCAT(): डायनामिक पैटर्न बनाना CONCAT() फंक्शन का उपयोग करके आप रनटाइम पर LIKE पैटर्न बना सकते हैं। यह तब उपयोगी है जब खोज पैटर्न किसी कॉलम, वेरिएबल, या पैरामीटर से आता है। उदाहरण: o अक्षर वाले नाम खोजें टेबल बनाएं: CREATE TABLE DemoTable (Name VARCHAR(50)); INSERT INTO DemoTable VALUES

  1. - क्या हम MySQL SELECT IN() में एकल मान सेट कर सकते हैं?

    हाँ, हम MySQL में IN() के साथ एकल मान सेट कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.65 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)