फॉरेन की के साथ दो टेबल्स को LEFT JOIN करना
LEFT JOIN बाएं टेबल की सभी पंक्तियाँ और दाएं टेबल से मिलान वाली पंक्तियाँ लौटाता है (मिलान न होने पर NULL)।
पहली टेबल (ParentTable) बनाना
mysql> CREATE TABLE ParentTable (
-> UniqueId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName VARCHAR(10)
-> );
mysql> INSERT INTO ParentTable(EmployeeName) VALUES('John'),('Carol'),('Sam'),('Bob');
दूसरी टेबल (ChildTable) फॉरेन की के साथ
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');
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 | +----------+--------------+-------------------------------------------+
Id 3 के लिए एड्रेस NULL है क्योंकि ChildTable में उसका एड्रेस नहीं था। LEFT JOIN ने ParentTable की सभी पंक्तियाँ रखीं।