02/10/2018, 00:35
[SQL SERVER] Hướng dẫn tránh trùng lắp dữ liệu trong lệnh Insert Into Select query
Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách tránh trùng lắp dữ liệu khi thêm dữ liệu vào bảng table trong sqlserver sử dụng lệnh INSERT INTO ... SELECT. Ở đây mình sẽ hướng dẫn các bạn 3 cách để tránh chèn dữ liệu trùng lắp: - Mình sẽ sử ...
Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách tránh trùng lắp dữ liệu khi thêm dữ liệu vào bảng table trong sqlserver sử dụng lệnh INSERT INTO ... SELECT.
Ở đây mình sẽ hướng dẫn các bạn 3 cách để tránh chèn dữ liệu trùng lắp:
- Mình sẽ sử dụng các hàm NOT IN, NOT EXISTS và LEFT JOIN/ ISNULL
Cách 1: Sử dụng NOT EXISTS
INSERT INTO TABLE_2 (id, name) SELECT t1.id, t1.name FROM TABLE_1 t1 WHERE NOT EXISTS(SELECT id FROM TABLE_2 t2 WHERE t2.id = t1.id)
Cách 2: Sử dụng NOT IN
INSERT INTO TABLE_2 (id, name) SELECT t1.id, t1.name FROM TABLE_1 t1 WHERE t1.id NOT IN (SELECT id FROM TABLE_2)
Cách 3: Sử dụng LEFT JOIN/IS NULL
INSERT INTO TABLE_2 (id, name) SELECT t1.id, t1.name FROM TABLE_1 t1 LEFT JOIN TABLE_2 t2 ON t2.id = t1.id WHERE t2.id IS NULL
Have Fun :)