where 与which在从句中做代词的成分是不一样的
where是副词,which代名词
所以在选择的关键就是看句中的动词是不是及物的,如果是不及物动词,那么就用where做状语,如果是及物动词,那么就用which做名词成分
比如你列举的前两个句子,visit是不及物动词,所以主句中的village只是做visit的一个地点状语
stay是及物动词,所以village是做stay后面的宾语,属于名词成分,所以要用which引导
同理,spend是及物动词,后要加名词,用which
live是不及物动词,后加状语用where
主要是要搞清楚词性以及在句子中的成分
加油!