Ваш пример действительно странный. Зачем кому-то иметь нулевые значения в поле идентификатора? Но все таки. Если вам нужны поля из таблицы 2 в наборе результатов, как вы сказали выше, тогда вы должны использовать ВНУТРЕННЕЕ СОЕДИНЕНИЕ, а не ЛЕВОЕ СОЕДИНЕНИЕ
Что-то вроде:
SELECT DISTINCT a.id, a.name, b.someOtherField
FROM Table1 a
INNER JOIN Table2 b ON a.id = b.id
Обратите внимание: так как только идентификатор поле таблицы 1 имеет нулевые значения, в таблице 1 не будет выбрано ни одной записи с идентификатором IS NULL, поскольку они не имеют эквивалента в таблице 2. Добавление ключевого слова DISTINCT помогает в случае, если этот запрос будет по-прежнему создавать дубликаты.