INTERSECT returns rows common to both queries. INNER JOIN returns matching rows from both tables based on a join condition. When you add DISTINCT to INNER JOIN, it removes duplicates, making it functionally equivalent to INTERSECT if the join conditions match on all columns. The other options are incorrect - UNION combines all rows (including duplicates), and joins are not equivalent to basic set operations.