LEFT JOIN ব্যবহার করে দুটি টেবিল জয়েন করতে হলে প্রথমে ফরেন কী কনস্ট্রেইন্ট সহ টেবিল তৈরি করতে হয়।
স্টেপ ১: প্যারেন্ট টেবিল (ParentTable)
mysql> create table ParentTable (
-> UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName varchar(10)
-> ); Query OK, 0 rows affected (0.56 sec)
রেকর্ড ইনসার্ট: John, Carol, Sam, Bob (UniqueId ১-৪)।
স্টেপ ২: চাইল্ড টেবিল (ChildTable) - ফরেন কী সহ
mysql> create table ChildTable (
-> UniqueId int NOT NULL PRIMARY KEY,
-> EmployeeAddress varchar(100),
-> CONSTRAINT fk_uniqueId FOREIGN KEY(UniqueId) references ParentTable(UniqueId)
-> ); Query OK, 0 rows affected (0.54 sec)
রেকর্ড ইনসার্ট (UniqueId ৩-এর ঠিকানা NULL):
+----------+-------------------------------------------+ | UniqueId | EmployeeAddress | +----------+-------------------------------------------+ | 1 | 15 West Shady Lane Starkville, MS 39759 | | 2 | 72 West Rock Creek St. Oxford, MS 38655 | | 3 | NULL | | 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;
ফলাফল (প্যারেন্টের সকল রো থাকে, চাইল্ডে মিল না থাকলে NULL):
+----------+--------------+-------------------------------------------+ | 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 | +----------+--------------+-------------------------------------------+