在 SQL 中,我们可以使用 MERGE 语句来合并记录。MERGE 语句可以根据指定的条件将源表中的数据合并到目标表中,如果目标表中已经存在相同的记录,则可以选择更新或忽略该记录。以下是 SQL 合并记录的完整攻略,含两条实例:
- 合并记录并更新
我们可以使用 MERGE 语句合并记录并更新目标表中的记录。例如,以下 SQL 语句将合并 my_table2 表中的数据到 my_table 表中,并在目标表中已经存在相同记录时更新该记录的值:
MERGE INTO my_table
USING my_table2
ON my_table.id = my_table2.id
WHEN MATCHED THEN
UPDATE SET my_table.name = my_table2.name, my_table.age = my_table2.age;
在上述语句中,我们使用 MERGE 语句将 my_table2 表中的数据合并到 my_table 表中,并在目标表中已经存在相同记录时更新该记录的值。需要注意的是,ON 子句用于指定合并条件,WHEN MATCHED THEN 子句用于指定更新操作。
- 合并记录并插入
我们可以使用 MERGE 语句合并记录并插入目标表中不存在的记录。例如,以下 SQL 语句将合并 my_table2 表中的数据到 my_table 表中,并在目标表中不存在相同记录时插入该记录:
MERGE INTO my_table
USING my_table2
ON my_table.id = my_table2.id
WHEN NOT MATCHED THEN
INSERT (id, name, age) VALUES (my_table2.id, my_table2.name, my_table2.age);
在上述语句中,我们使用 MERGE 语句将 my_table2 表中的数据合并到 my_table 表中,并在目标表中不存在相同记录时插入该记录。需要注意的是,ON 子句用于指定合并条件,WHEN NOT MATCHED THEN 子句用于指定插入操作。
总之,在 SQL 中,我们可以使用 MERGE 语句合并记录。我们可以选择更新或插入记录,具体取决于目标表中是否存在相同的记录。需要注意的是,ON 子句用于指定合并条件,WHEN MATCHED THEN 子句用于指定更新操作,WHEN NOT MATCHED THEN 子句用于指定插入操作。