Another SQL tool you could use is MERGE
--Create first table
CREATE TABLE #aa(
username varchar(50),
userid varchar(50),
userfullname varchar(50),
useremail varchar(50)
)
GO
--Create second table
CREATE TABLE #bb(
username varchar(50),
userid varchar(50),
userfullname varchar(50),
useremail varchar(50)
)
GO
--Insert all data into temp table #aa
INSERT #aa (username,userid,userfullname,useremail)
VALUES
('AAA','ID1','JOHN DOE','AAA@YAHOO.COM'),
('BBB','ID2','BILLY BOB','BBB@YAHOO.COM'),
('CCC','ID3','TOM HANKS','CCC@GMAIL.COM'),
('DDD','ID4','CONNOR MCGREGOR','DDD@GMAIL.COM'),
('EEE','ID5','FLOYD MAYWEATHER','EEE@GMAIL.COM')
GO
--Insert only the username in temp table #bb
INSERT #bb (username)
VALUES
('AAA'),
('BBB'),
('CCC'),
('DDD'),
('EEE')
GO
--See #bb before
SELECT * FROM #bb
MERGE #bb AS TARGET
USING #aa AS SOURCE
ON TARGET.username = SOURCE.username
WHEN MATCHED
THEN UPDATE SET
TARGET.userid = SOURCE.userid,
TARGET.userfullname = SOURCE.userfullname,
TARGET.useremail = SOURCE.useremail;
GO
--See #bb after
SELECT * FROM #bb
DROP TABLE #aa
DROP TABLE #bb
Before Merge
+----------+--------+--------------+-----------+
| username | userid | userfullname | useremail |
+----------+--------+--------------+-----------+
| AAA | NULL | NULL | NULL |
| BBB | NULL | NULL | NULL |
| CCC | NULL | NULL | NULL |
| DDD | NULL | NULL | NULL |
| EEE | NULL | NULL | NULL |
+----------+--------+--------------+-----------+
After Merge
+----------+--------+-------------------+----------------+
| username | userid | userfullname | useremail |
+----------+--------+-------------------+----------------+
| AAA | ID1 | JOHN DOE | AAA@YAHOO.COM |
| BBB | ID2 | BILLY BOB | BBB@YAHOO.COM |
| CCC | ID3 | TOM HANKS | CCC@GMAIL.COM |
| DDD | ID4 | CONNOR MCGREGOR | DDD@GMAIL.COM |
| EEE | ID5 | FLOYD MAYWEATHER | EEE@GMAIL.COM |
+----------+--------+-------------------+----------------+