В CROSS JOIN
каждая отдельная запись в одной таблице объединяется с каждой отдельной записью в другой таблице. Если в каждой таблице 10 записей, это дает 100 совпадений.
Более распространенным объединением является INNER JOIN
...
SELECT DISTINCT
employee.EmployeeCode,
TreeNodeDescription.TreeNodeDescription2
FROM
Employee
INNER JOIN
TreeNodeDescription
ON Employee.EmployeeID = TreeNodeDescription.TreeNodeDescription2
Вы сами указываете, как вы хотите связать таблицы, наличие внешних или первичных ключей не автоматизирует это для вас. Они просто служат для обеспечения соблюдения определенных правил в базе данных и поддержания ее в согласованном состоянии.