MySQL-এ LEFT JOIN ব্যবহার করে টেবিল A-র যেসব রো টেবিল B-এ নেই (NULL), সেগুলো টেবিল C-তে ইনসার্ট করা যায়। এটি ডেটা সিঙ্ক বা ডেল্টা লোডের জন্য উপযোগী।
টেবিল A: demo20
mysql> CREATE TABLE demo20 (id INT, name VARCHAR(20)); mysql> INSERT INTO demo20 VALUES (100,'John'),(101,'Bob'),(102,'Mike'),(103,'Carol');
mysql> SELECT * FROM demo20; +------+-------+ | id | name | +------+-------+ | 100 | John | | 101 | Bob | | 102 | Mike | | 103 | Carol | +------+-------+
টেবিল B: demo21
mysql> CREATE TABLE demo21 (id INT, name VARCHAR(20)); mysql> INSERT INTO demo21 VALUES (100,'Sam'),(101,'Adam'),(133,'Bob'),(145,'David');
mysql> SELECT * FROM demo21; +------+-------+ | id | name | +------+-------+ | 100 | Sam | | 101 | Adam | | 133 | Bob | | 145 | David | +------+-------+
টেবিল C: demo22 (খালি)
mysql> CREATE TABLE demo22 (id INT, name VARCHAR(20));
LEFT JOIN দিয়ে ইনসার্ট (A-তে আছে B-তে নেই)
mysql> INSERT INTO demo22 (id, name)
-> SELECT tbl1.id, tbl1.name
-> FROM demo20 tbl1
-> LEFT JOIN demo21 tbl2 ON tbl2.id = tbl1.id
-> WHERE tbl2.id IS NULL;
ফলাফল (টেবিল C)
mysql> SELECT * FROM demo22; +------+-------+ | id | name | +------+-------+ | 102 | Mike | | 103 | Carol | +------+-------+
ব্যাখ্যা: ID 100, 101 টেবিল B-তেও আছে (নেম ভিন্ন হলেও)। ID 102, 103 শুধু টেবিল A-তে আছে। সেগুলোই ইনসার্ট হয়েছে।