两个都 可以用,但其应用的情形比较复杂:
以下情况只能用which:
1)在非限定性定语从句中:He has a book, which is very interesting.
2)介词之后:There is a house in which ......
3)i当先行词被that修饰时:That dog which I found in the street belongs to mary.
以下情况只能用that:
1)当先行词被nothing something all any some等修饰时
2)当先行词被形容词最高级修饰时
3)there be 句型只能that
4)主句是以which或者who开头的特殊疑问句时
5)当先行词既有人又有物时