"Who" is referred to people only, "which" - to inanimate objects and animals. "That" can be used in both cases: It is the man who/that has stolen the bike.
"Whom" is used when "who" is not the subject of its own clause: He can't remember whom he saw.
"Whom" is no longer thought to be necessary and the objective form "who" is now commonly used, even in formal writing: He can't remember who he saw. There were several people who he had met before.
"Who" cannot be used directly after a preposition. In formal writing "whom" is preferred in sentences like this: The man to whom he sold his car.
Though the preposition is usually displaced: The man who he sold his car to.
"That" can be used in defining relative cases (where all of these relative pronouns can be omitted): My friend, [whom/who/that] I met yesterday, told me everything.
But "that" can't be used in non-defining relative cases: She, who (not "that"!) has two higher educations, is now working as a waitress.
------------------------------------------
You might want to find more related answers by typing "whom" in the search field (top right corner).