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

MySQL में दो टेबल को कैसे जोड़ें (JOIN)?


MySQL में दो टेबल को JOIN करना

दो टेबल को जोड़ने के लिए आमतौर पर विदेशी कुंजी (Foreign Key) का उपयोग किया जाता है। यहां LEFT JOIN का उदाहरण दिया गया है।

चरण 1: पैरेंट टेबल बनाएं

mysql> create table ParentTable (
    -> UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName varchar(10)
    -> );

डेटा डालें:

mysql> insert into ParentTable(EmployeeName) values('John');
mysql> insert into ParentTable(EmployeeName) values('Carol');
mysql> insert into ParentTable(EmployeeName) values('Sam');
mysql> insert into ParentTable(EmployeeName) values('Bob');

चरण 2: चाइल्ड टेबल बनाएं (विदेशी कुंजी के साथ)

mysql> create table ChildTable (
    -> UniqueId int NOT NULL PRIMARY KEY,
    -> EmployeeAddress varchar(100),
    -> CONSTRAINT fk_uniqueId FOREIGN KEY(UniqueId) references ParentTable(UniqueId)
    -> );

डेटा डालें:

mysql> insert into ChildTable values(1, '15 West Shady Lane Starkville, MS 39759');
mysql> insert into ChildTable values(2, '72 West Rock Creek St. Oxford, MS 38655');
mysql> insert into ChildTable(UniqueId) values(3);
mysql> insert into ChildTable values(4, '119 North Sierra St. Marysville, OH 43040');

चरण 3: LEFT JOIN करके डेटा प्राप्त करें

mysql> select ParentTable.UniqueId, ParentTable.EmployeeName, ChildTable.EmployeeAddress
    -> from ParentTable left join ChildTable on ParentTable.UniqueId = ChildTable.UniqueId;

परिणाम:

+----------+--------------+-------------------------------------------+
| UniqueId | EmployeeName | EmployeeAddress                           |
+----------+--------------+-------------------------------------------+
|        1 | John         | 15 West Shady Lane Starkville, MS 39759   |
|        2 | Carol        | 72 West Rock Creek St. Oxford, MS 38655   |
|        3 | Sam          | NULL                                      |
|        4 | Bob          | 119 North Sierra St. Marysville, OH 43040 |
+----------+--------------+-------------------------------------------+

JOIN के प्रकार

  • INNER JOIN: केवल मेल खाने वाली पंक्तियाँ
  • LEFT JOIN: बाईं टेबल की सभी पंक्तियाँ + दाईं टेबल से मेल
  • RIGHT JOIN: दाईं टेबल की सभी पंक्तियाँ + बाईं टेबल से मेल
  1. - MySQL में UNION का उपयोग करके दो टेबल से एक क्वेरी में चयन करें

    UNION ऑपरेटर का उपयोग करके दो टेबल के परिणाम सेट को संयोजित करें (डुप्लिकेट हटाता है)। क्रमबद्ध करने के लिए ORDER BY जोड़ें। पहली टेबल बनाना और डेटा डालना CREATE TABLE DemoTable1 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) ); Query OK, 0 rows affected (0.90 sec) I

  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल

  1. - MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

    MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं। उदाहरण 1. लक्ष्य टेबल बनाएं ); 2. स्रोत टेबल बनाएं INSERT INTO DemoTable2 VALUES(Chris); 3. एक क्वेरी में चयन और सम्मिलन SELECT Name, 98