Why use an inner join?
Also question is, when to use inner join vs LEFT JOIN?
Use an inner join when you want only the results that appear in both sets. Use a left outer join when you want all the results from set a, but if set b has data relevant to some of set a's records, then you also want to use that data in the same query too.
Regarding this, when to use an inner join in SQL?
Use an SQL INNER JOIN when you need to match rows from two tables. Rows that match remain in the result, those that don't are rejected. The match condition is commonly called the join condition.
A LEFT JOIN is absolutely not faster than an INNER JOIN . In fact, it's slower; by definition, an outer join ( LEFT JOIN or RIGHT JOIN ) has to do all the work of an INNER JOIN plus the extra work of null-extending the results.