一、只用that不能用which的情况:

(1)先行词被序数词或形容词最高级所修饰,或本身是序数词、基数词、形容词最高级时:

The most important thing that we should do is tostudy hard.我们要做的最重要的事情就是努力学习。

(2)被修饰的先行词为all/ any/ much/many/ everything/ anything/ none/the one等不定代词时:

Is there any thing that you want to buy?你有什么东西要买吗?

(3)先行词被the only/ the very/ the same/the last/ little/ few等词修饰时:

This is the same book that I lost.这就是我丢的那本书。

(4)先行词里同时含有人和物时:

I can remember the persons and some pictures that Isaw in the room.我能清楚记得我在那个房间所见到的人和一些照片。

(5)避免重复:

Which is the pen that belongs to you?哪支笔是你的?

(6)主句是there be结构:

There is a pen on the desk that belongs to Tom.桌子上那支笔是汤姆的。

二、只用which,而不用that的情况:

(1)先行词为that/ those时:

What’s that which is underthe desk?在桌子底下的那些东西是什么?

(2)关系代词前有介词时

This is the city in which he lives.这是他生活的城市。

(3)引导非限制性定语从句:

Tom passed the exam, which made us surprised.汤姆通过了考试,这使我们很惊讶。

that VS who

两者均可指人,有时可互换:

All that /who heard the news were sad. 所有听到消息的人都很伤心。

He is the only one among us that/ who knows Spanish.他是我们中间唯一懂西班牙语的人。

一、只用that不能用who的情况:

(1)当先行词指人又指物时:

I remember the persons and pictures that I saw in themuseum. 我记得在博物馆看到的那些人和图片。

(2)避免重复:

Who was it that won the World Cup in 1982? 谁赢得了1982年的世界杯?

(3)当关系代词在定语从句中作表语时(可省略)

Jack is not the boy (that) he was ten years ago.杰克不再是十年前那个样子了。

二、只用who不能用that的情况:

(1)先行词为one、ones或anyone :

Anyone who breaks the law should be punished. 所有违法的人都该受到惩罚。

(2)先行词为those且指人:

Those who break the law will be punished. 违法的那些人都会受到惩罚。

(3)在there be开头的句子中:

There is a student who wants to see you.

(4)避免重复:

Who is the boy that is writing?正在写字的那个男孩是谁?

(5)在非限制性定语从句中:

I have a good friend, who comes from the USA.

关系代词which、that、who的区别