This is the village I visited in my childhood.
「この文の空欄に当てはまる関係詞を入れよ」
という問題が出たときに、the village(村)という場所に引きずられてwhereを書いてしまう高校生は必ずいます。
関係詞(関係代名詞や関係副詞など)だけに限らないのですが、訳すことが出来れば「理解できた」と勘違いしてしまう生徒がこの手の誤答を作ってしまいます。
(関係副詞のwhereの先行詞はほとんどが場所に関する名詞であることは事実ですが)
英語は日本語と比べより論理的な言語であると言われ、特に英語を母国語としない我々がそれなり高度な文章を正しく読み込むためには、文法的な分析が必要なことが多々あります。
上の文で言うなら、the villageを以降の文で詳しく説明(文修飾)すると考えられる(このように文で修飾される名詞を先行詞といいます)ので関係詞がくると見当が付きます。
そうすると先行詞はモノですからwhichが候補に挙がるのですが、「I visited in my childhood」の文の中で visit の目的語がないので、本来関係代名詞の目的格「その村(を)」がここに入るはずです。
(関係詞はつなぐ役割があるためここでは前へ出ていますが、目的格の関係代名詞は省略されることも多いです)
whichは関係代名詞としては主格あるいは目的格ですから、これが正しいとわかります。
誤答として多いwhereだとすると、関係詞としてのwhereは関係副詞となります。
そして関係詞以降の節では文の中で副詞として機能するはずですが、ここでは分の成分として関係詞は目的語になっている点で間違いと認識できるのです。
一方、「This is the hotel I wanted to stay.」
この文の関係詞以降の先行詞を修飾する文の中ではstayは自動詞として使われていて主語・目的語などの点で欠けたところがないため、関係代名詞ではなく関係副詞が入るとわかります。
I wanted to stayの空欄は「そこで」という意味になりwhereとなりますが、at whichでもOKです。