add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE table1(id, name, gender, age) AS
SELECT 134, 'Rohit', 'M', 22 FROM DUAL UNION ALL
SELECT 214, 'Ayush', 'M', 21 FROM DUAL UNION ALL
SELECT 221, 'Nikhil', 'M', 24 FROM DUAL UNION ALL
SELECT 112, 'Astha', 'F', 23 FROM DUAL;
4 rows affected
CREATE TABLE table2(id, name, gender, age, phone_num) AS
SELECT 134, 'Rohit', 'M', 22, CAST('1232' AS VARCHAR2(20)) FROM DUAL UNION ALL
SELECT 215, 'Ankit', 'M', 21, '1234' FROM DUAL UNION ALL
SELECT 221, 'Nikhil', 'M', 24, '1232' FROM DUAL UNION ALL
SELECT 112, 'Abced', 'F', 23, '123223' FROM DUAL;
4 rows affected
CREATE TABLE table3(id, phone_num) AS
SELECT 134, '234234' FROM DUAL UNION ALL
SELECT 214, '1234' FROM DUAL UNION ALL
SELECT 221, '1234234' FROM DUAL UNION ALL
SELECT 112, '1234532' FROM DUAL;
4 rows affected
MERGE INTO table2 dst
USING (
SELECT t1.*, t3.phone_num
FROM table1 t1
LEFT OUTER JOIN table3 t3
ON (t1.id = t3.id)
) src
ON (src.id = dst.id)
WHEN NOT MATCHED THEN
INSERT (id, name, gender, age, phone_num)
VALUES (src.id, src.name, src.gender, src.age, src.phone_num);
1 rows affected
SELECT * FROM table2;
ID NAME GENDER AGE PHONE_NUM
134 Rohit M 22 1232
215 Ankit M 21 1234
221 Nikhil M 24 1232
112 Abced F 23 123223
214 Ayush M 21 1234
MERGE INTO table2 dst
USING (
SELECT t1.*, t3.phone_num
FROM table1 t1
LEFT OUTER JOIN table3 t3
ON (t1.id = t3.id)
) src
ON (src.id = dst.id)
WHEN MATCHED THEN
UPDATE
SET name = src.name,
gender = src.gender,
age = src.age,
phone_num = src.phone_num
WHEN NOT MATCHED THEN
INSERT (id, name, gender, age, phone_num)
VALUES (src.id, src.name, src.gender, src.age, src.phone_num);
4 rows affected
SELECT * FROM table2;
ID NAME GENDER AGE PHONE_NUM
134 Rohit M 22 234234
215 Ankit M 21 1234
221 Nikhil M 24 1234234
112 Astha F 23 1234532
214 Ayush M 21 1234