Use a left self join with a condition that filters out matches:
select t1.UniqueNumber
from mytable t1
left join mytable t2 on t2.UniqueNumber = t1.UniqueNumber
and t2.type = 'Response'
where t1.type = 'Request'
and t2.type is null
This query works because the join condition attempts to find the response by putting the test for type in the join condition and missed joins return nulls for the values and the where clause seeks those.
As long as there's an index on UniqueNumber, this query will out-perform all other forms due to the efficiencies of joins.