Update From Select - SQL Server
In this post we will try to insert values into a table using Select statement. You will find all these queries here answered by different readers. I have taken two example tables and tried these queries on those tables.
Create a new table Tab_1
Select * from tab_2
Now lets see the Update queries on these above tables:
Example 1 of UPDATE from SELECT using SQL Server:
tab_1
Example 2 of UPDATE from SELECT using SQL Server:
tab_1
Example 3 of UPDATE from SELECT using SQL Server:
tab_1
Example 4 of UPDATE from SELECT using SQL Server:
tab_1
Example 5 of UPDATE from SELECT using SQL Server:
tab_1
Example 6 of UPDATE from SELECT using SQL Server:
tab_1
Example 7 of UPDATE from SELECT using SQL Server:
tab_1
In this post we will try to insert values into a table using Select statement. You will find all these queries here answered by different readers. I have taken two example tables and tried these queries on those tables.
Create a new table Tab_1
CREATE TABLE Tab_1 (ID INT, Column_2 VARCHAR(10), Name VARCHAR(100)) INSERT INTO Tab_1 (ID, Column_2, Name) SELECT 11, 'A1', 'Abhi' UNION ALL SELECT 22, 'B1', 'Bir' UNION ALL SELECT 33, 'C1', 'Chetan' UNION ALL SELECT 44, 'D1', 'Damodar' UNION ALL SELECT 55, 'E1', 'Eklavya'Create a new table Tab_2
CREATE TABLE Tab_2 (ID INT, Column_2 VARCHAR(10), Name VARCHAR(100)) INSERT INTO Tab_2 (ID, Column_2, Name) SELECT 11, 'F1', 'Fardeen' UNION ALL SELECT 22, 'G1', 'Gautam' UNION ALL SELECT 33, 'H1', 'Harish' UNION ALL SELECT 44, 'I1', 'Fardeen'Select * from tab_1
ID | Column_2 | Name |
---|---|---|
11 | A1 | Abhi |
22 | B1 | Bir |
33 | C1 | Chetan |
44 | D1 | Damodar |
55 | E1 | Eklavya |
Select * from tab_2
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
Now lets see the Update queries on these above tables:
Example 1 of UPDATE from SELECT using SQL Server:
UPDATE tab_1 SET tab_1.Column_2 = tab_2.Column_2, tab_1.Name = tab_2.Name FROM tab_1 INNER JOIN tab_2 ON tab_1.id = tab_2.idResult:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 2 of UPDATE from SELECT using SQL Server:
MERGE INTO tab_1 T USING tab_2 S ON T.id = S.id WHEN MATCHED THEN UPDATE SET column_2 = S.column_2, Name = S.Name;Result:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 3 of UPDATE from SELECT using SQL Server:
UPDATE Tab_1 SET Column_2=i.Column_2 , Name=i.Name FROM (SELECT ID,Column_2,Name FROM Tab_2)i where i.ID=Tab_1.IDResult:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 4 of UPDATE from SELECT using SQL Server:
UPDATE tab_1 SET tab_1.column_2 = o.column_2, tab_1.Name = o.Name FROM tab_2 o join tab_1 on tab_1.id = o.idResult:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 5 of UPDATE from SELECT using SQL Server:
UPDATE t SET t.column_2 = o.column_2, t.name = o.name FROM tab_1 AS t INNER JOIN tab_2 AS o ON t.id = o.idResult:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 6 of UPDATE from SELECT using SQL Server:
update Tab_1 set Tab_1.column_2 = a.column_2, Tab_1.name = a.name from Tab_2 a where Tab_1.id = a.IDResult:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |
Example 7 of UPDATE from SELECT using SQL Server:
UPDATE tab_1 SET Tab_1.column_2 = (SELECT tab_2.column_2 FROM tab_2 WHERE tab_2.id = tab_1.id), Tab_1.Name = (SELECT tab_2.Name FROM tab_2 WHERE tab_2.id = tab_1.id) WHERE EXISTS (SELECT tab_2.column_2 FROM tab_2 WHERE tab_2.id = tab_1.id);Result:
tab_1
ID | Column_2 | Name |
---|---|---|
11 | F1 | Fardeen |
22 | G1 | Gautam |
33 | H1 | Harish |
44 | I1 | Fardeen |
55 | E1 | Eklavya |