Method 1: Get a resultset with common 'Furniture' and 'Machinery' and use that in a subquery to exclude those results.
SELECT Flat, Land FROM tblProperty
WHERE Furniture NOT IN
(SELECT Furniture FROM tblProperty p
INNER JOIN tblSales s ON p.Furniture = s.Furniture AND p.Machinery = s.Machinery)
Method 2: Simply using NOT IN clause in the query.
SELECT Flat, Land FROM tblProperty
WHERE Machinery NOT IN (SELECT Machinery FROM tblSales)
AND Furniture NOT IN (SELECT Furniture FROM tblSales)
I think Method 2 will be slower if your tables contain huge records. That's because tblSales table is queried two times here. So the overall data involved in second query is high.
I would suggest you still check the query plan for both the queries and go with the best plan.
Hope this helps!