关系代词which/that

用that而不用which的情况
①如果先行词是all, anything, something, nothing, everything, little, none等不定代词时,关系代词一般用that, 不用which
②如果先行词被形容词最高级以及first, last, any, only, few, much, some, very等词修饰时,关系代词常用that,不用which
③先行词中既有人又有物时,关系代词应该用that
用which而不用that的情况
①引导非限制性定语从句时用which
②关系代词在从句中紧接在介词之后作宾语时用which
③当先行词与从句之间有较长或较为复杂的成分分离时用which
④若复合句中含有双重或多重定语从句,其中第一个用了that,其他的从句一般用which引导

关系副词where/when/why
where在定语从句中作地点状语,有时可用“in/at+which”代替
when在定语从句作时间状语时,有时可用“on/at/during+which”代替
why在定语从句中作原因状语,有时可以用for which代替