Here is my data
CREATE TABLE TempA (
ID INT IDENTITY(1,1),
Msg VARCHAR(20)
)
INSERT INTO TempA (Msg) values ( 'a')
INSERT INTO TempA (Msg) values ( 'b')
INSERT INTO TempA (Msg) values ( 'c')
CREATE TABLE TempB (
ID INT IDENTITY(1,1),
Msg VARCHAR(20)
)
So TempB is empty. Now I run following query
select a.*
from TempA a
left JOIN TempA B on a.id = b.id
It returns 3 rows from TempA as expected, good so far. Let's add a filter in query above
select a.*
from TempA a
left JOIN TempA B on a.id = b.id
where b.msg = 'aa'
It return no rows to me. I thought that since its a left join, i should still get 3 rows from TempA table. Am I wrong?