As per sql server, Null is not equivalent to any thing in sql but following queries returns all the products for which order has been placed.
Select * from products
where exists (select null from orderdetails
where orderdetails.product_id = products.product_id
Exists test for existence of rows. It does not check the values. You could use
where exists (select * ...)orwhere exists(select 1 ...). It would not make a difference.