How does this standard input operator (0<) work in Linux?

Assuming there are two files in Linux. FileA and FileB both with some different list of fruits. I apply the below commands.

diff fileA fileB > file.diff

Next, I execute the below command

patch fileA 0< file.diff

Above command patches (corrects the mistakes) the original file (fileA) from the input given by file.diff and sends output to fileA (this is what I understand, I may be wrong). In other words, fileA and fileB match.

“0<” is known as a redirection symbol for standard input (as far as I understand). Now, since the standard input is a keyboard, shouldn’t patch command read from the keyboard and not from file.diff? How does the above command work?