SQL Server 2014 で教えてください。

1)
select * from tableA join tableB;

select * from tableA left join tableB;
と書いた場合、上は inner join、下は left outer join と同等でしょうか。
引き継いだコードが上のように書いてあるのですが、join で検索を掛けても inner join とかの記事しか出てこず。

2)
テーブルから特定の値のレコードを検索する場合、
a) 検索したい値を格納した(一時)テーブルと結合する
 select * from tableA t1 inner join tableB t2 on t1.id = t2.id; など /* tableB に欲しいレコードの id を格納しているとします */
b) where で in を使用して検索したい値を列挙する
 select * from tableA t1 where id in (/* 欲しいレコードの id を列挙 */)
などの方法があるように思います。

a と b の実行時間を計ると b の方が圧倒的に速いのですが、そういうものなのでしょうか。