Are there any performance issues of using \"IN\" keyword in SQL statements in places where we can use JOIN?
SELECT xxx
FROM xxx
WHERE ID IN (SELECT Id FROM x
Rather than a distinct you could use group by. I have had cases where I got better response time using join. Typically when I am joining all the rows via a primary key / foreign key relationship and the where is looking at a non key column. Especially if multiple joins. The IN can SOMETIMES force an index scan and the join will TYPICALLY use a seek if it is going to the PK. When you design you tables line up the primary keys so they are in the same order and explicitly declare the PK / FK relationships. Join are NOT limited to PK / FK. But a common use of a join is to walk the PK / FK relationship and in that case my experience using a join with the keys aligned is the best performance.