What is the difference between which (or who) and that,
and how can you tell which one to use?
The basic question is whether you, or the person you are talking to, already
know what it is that you are talking about. In the sentence 'I've lost the book
that I was reading yesterday', that introduces information that the
listener needs in order to know what book is being talked about. You can also
say 'I've lost the book which I was reading yesterday'.
In 'This book, which I bought yesterday, is very interesting', which
tells the listener something new about a book that has already been identified.
You shouldn't use that in sentences of this kind.