定语从句先行词前有*修饰就一定要用that吗?

问题描述:

定语从句先行词前有*修饰就一定要用that吗?
比如Shanghai is the most beautiful city _____ I have ever been to.
要不要考虑这个先行词在从句是充当主语,宾语或者状语的?
我试卷有这么道题目Shanghai is the most beautiful city _____ I have ever been to.
答案给出的是that,我就猜是不是因为有*的原因,因为我自己填是选where的,我认为shanghai作地点状语

比如Shanghai is the most beautiful city _____ I have ever been to.
要不要考虑这个先行词在从句是充当主语,宾语或者状语的?
当然要先考虑从句缺少什么成分,断定是用关系代词还是关系副词,如果需要关系代词的话再考虑用什么关系代词.