先行词是最高级或被最高级修饰;先行词是序数词或被序数词修饰;先行词是不定代词时;先行词既有人又有物时;先行词被only/no/the right/the same等修饰;以which/who/whom引起的问句中;there be句型中;先行词在主句中作表语,或者关系代词本身作从句的表语时。

只能用that的情况

1、定语从句修饰的词(即,先行词),前面有形容词最高级时
This is the best film that I have seen. (先行词是film,前面有the best修饰它,这时候只能用that,强调“最好的”)
2、先行词被the very/the only/the same/the last等修饰时
She is the only girl who has got a prize.(先行词是girl,前面有the only修饰它,这时候只能用that,强调“唯一一个”)
3、先行词被序数词修饰时
The first place that they visited was the Big Ben.(先行词是place,前面有the first修饰它,这时候只能用that,强调“第一个”)
4、先行词正好是anything/everything/nothing/few/all/none/little/some等词时
All that can be done has been done.(先行词是all,这时候只能用that,强调“所有的”)
There is little that I can do for you.(先行词是little,这时候只能用that,强调“没有、很少“)
另外有一些情况,不一定是为了强调,也要用that,并且都有各自的原因。
5、先行词前面有who,which等疑问代词时
Who is the man that is standing there?(先行词是man,但前面有疑问词who,这时候只能用that。我们可以认为,这是英语中为了避免重复而做出的限定。英语表达的一个特征就是不喜欢重复,所以,在一个场景下, 表达相同含义时,通常会用很多同义词或近义词)
6、先行词既有人,也有物时
The writer and his work that you told me are really famous.(先行词有writer和work,一个是人,一个是物,为了统一,这时候我们不能用who或which,只能用that)

定语从句特定选择

1、只用that不用which
1)当先行词是序数词或被序数词、最高级,关系词用that。
2)当先行词既有人又有物时,用that。
3)当先行词带有the only,the very,the same,the last,the one等词时,用that。
4)当主句中有who或which时,为避免重复用that。
5)当先行词为something,anything,nothing,none,no,little,much,all等不定代词时用that。
2、只用who不用that
1)如果先行词是those,they,all,persons,people,he,anyone,one时用who
2)当先行词指人并含有较长的后置定语从句或在被分割的定语从句中时。
3、只用which不用that
1)当主句先行词后有介词时,用which。例:This is the one of which I'm speaking。
2)非限定性定语从句,用which。
3) 描述句中一般用which。例:Beijing,which was China's capital for more than 800years。
4)those +复数名词之后,多用which .例:Shopkeeper want to keep a number of those goods which sell best。
5)先行词本身是that时,用which。