Давайте перепишем SQL:
select t1.id, t2.col1
from table1 t1
left join table2 t2 on t2.col1=t1.id and t2.col2='xxx'
where t1.col2='xxx'
select t1.id, t2.col1
from table1 t1
left join table2 t2 on t2.col1=t1.id
where t1.col2='xxx' and t2.col2='xxx'
Заполните таблицу данными
t1 (id, col2):
1 xxx
2 xxx
3 jjj
t2 (col1, col2):
1 uuu
2 xxx
3 xxx
Результат первого запроса:
1 NULL
2 2
Результат второго запроса:
2 2
Таким образом, если вы поставите какие-либо условия в 'join', строка присоединения может не объединиться, и результат объединения будетnull.
См. эту ссылку для понимания