How to perform a LEFT JOIN in SQL Server between two SELECT statements?

moorara picture moorara · Oct 25, 2011 · Viewed 131k times · Source

I have two SELECT statements in SQL Server like these:

(SELECT [UserID] FROM [User])
(SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043)

I want to perform a LEFT JOIN between these two SELECT statements on [UserID] attribute and [TailUser] attribute. I want to join existent records in second query with the corresponding records in first query and NULL value for absent records. How can I do this?

Answer

Derek Kromm picture Derek Kromm · Oct 25, 2011
SELECT * FROM 
(SELECT [UserID] FROM [User]) a
LEFT JOIN (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) b
ON a.UserId = b.TailUser