有两个判定方法:
1. 看被定语从句所修饰的先行词(名词/代词)能不能直接和从句相连。
如果可以直接和从句其他成分相连,无须补上介词,则用that/which;
如果需要额外补上介词才能放在定语从句中,则用where。
如:This is the city (which/that I stayed in last year).
把先行词the city放入后面的定语从句,为:
I stayed in (the city) last year.
the city直接做介词in的宾语,所以用which/that.
再如:This is the city (where I stayed last year).
把先行词the city放入定语从句,需要补上介词in方可,即为:
I stayed (in the city) last year.
所以使用where或in which.
2. 看定语从句是缺少地点状语还是缺少主语/宾语/表语。
如果缺少地点状语,用where;
如果只缺少主语/宾语/表语,则用which/that。
如:This is the city (which/that) I visited last year.
从句I visited last year中,及物动词visited后面缺少一个宾语,所以用which/that;
再如:This is the city (where) I lived last year.
I lived last year中,缺少地点状语in the city,所以用where或in which
其实上面两种方法是一样的,不知道楼主能不能看明白?
祝学习进步!
如果对你有所帮助,请点击我回答下面的“选为满意回答”按钮,谢谢!