两者都可指物,常可互换。其区别主要在于:(1) 引导非限制性定语从句时,通常只用which: He changed his mind, which made me very angry. 他改变了主意,这使我很生气。(2) 直接放在介词后作宾语时,通常只用which:The tool with which he is working is called a hammer. 他干活用的那个工具叫做锤子。(3) 当先行词是much, little, none, all, few, every(thing), any(thing), no(thing) 等不定代词或受其修饰时,通常用that:There was little that the enemy could do but surrender. 敌人无法,只好投降。All [Everything] that can be done must be done. 凡能做的事都必须做。(4) 当先行词受the very, the only, the same 等修饰时,通常用that:This is the only example that I know. 我知道的例子只有这一个。Those are the very words that he used. 那是他的原话。(5) 当先行词有形容词最高级或序数词 (包括last, next等)等修饰时,通常用that:This is the best dictionary that I’ve ever used. 这是我用过的最好的词典。The first thing that you should do is to work out a plan. 你应该做的第一件事是订个计划。(6) 当关系代词在定语从句中用作表语时,通常用that:China is not the country (that) it was.中国已不是过去的样子了。(7) 当先行词是一个既指人又指物的并列词组时,通常用that:They talked about the persons and things that most impressed them. 他们谈论了使他们印象最深的人和事。
(8) 当要避免重复时:Which is the course that we are to take? 我们选哪门课程?