Основываясь исключительно на данных таблицы, которые вы «предоставили», проблема в том, что вы ищете целочисленный идентификатор сотрудника, а ваш подзапрос возвращает список имен сотрудников. Поэтому, если вы измените его как таковой, вы получите правильный ответ:
CREATE TABLE #Orders (OrderID int, CustomerName varchar(20), EmployeeName varchar(20), Orderdate datetime)
INSERT INTO #Orders VALUES
(10248, 'C1', 'E1', '1997-01-25 00:00:00:000'),
(10249, 'C2', 'E3', '1997-01-24 00:00:00:000'),
(10250, 'C3', 'E2', '1997-01-23 00:00:00:000'),
(10251, 'c4', 'e5', '1997-01-22 00:00:00:000'),
(10251, 'c5', 'e4', '1997-01-23 00:00:00:000')
CREATE TABLE #Employees (EmployeeID int, Emp_name varchar(10))
INSERT INTO #Employees VALUES
(1, 'E1'),
(2, 'E2'),
(3, 'E3'),
(4, 'E4'),
(5, 'E5')
CREATE TABLE #Customers (CustomerID varchar(10), Country varchar(20))
INSERT INTO #Customers VALUES
('C1', 'USA'),
('C2', 'UK'),
('C3', 'Brazil'),
('C4', 'UK' ),
('C5', 'USA')
select Emp_name
from #Employees e1
where Emp_name not in
(
select o.EmployeeName
from #orders o
inner join #customers c on o.CustomerName = c.CustomerID
where c.Country = 'USA'
and o.Orderdate >= dateadd(day,-3, '1997-01-25')
)