私も関係詞の問題では、その意味に囚われてしまいよく間違えていました。
まず、先行詞がなにかを必ずチェックし
先行詞が 人 → who
先行詞が 物(もしくは人以外) →which
(that はどちらのケースでも使えるが、後述します)
と判断しておきます。
で、主格、所有格、目的格の判断ですが、代用として he(主格)、his(所有格)、him(目的格)を代わりにあてがってみます。
(she, her, herでも、it,its,itでもよいのですが、heは3つの形が異なるのでわかりやすい)
先行詞が物の場合、he, his, him をあてて、意味を考えるのではなく、そこにふさわしい"格"を判断するために代用しているわけです。
それぞれの関係代名詞の位置に相応しい"格"がわかったら
先行詞 |主格(he)|所有格(his)|目的格(him)
人 | who | whose | whom
物 |which | whose | which
どちらも| that | whose | that
に照らし合わせると答えがわかります。
注意する点は、物の所有格にもwhoseが来る点です。
ちなみに、カンマで関係代名詞の前で一度区切られる文には that は使えません。
×She showed me her dress, that was made in China.
○She showed me her dress, which was made in China.
では、where はどういう場合に使えるか。
これは in which, at which, on which, to which をそこにあてがって意味が通じるかを見てみます。
詳しくは、良い文法書を早くみつけることですが、それがあなたに力をつけてくれると思います。
お礼
URLがとても参考になりました!! ありがとうございます!!