; and |?

We can issue more than one commands in a Unix command line through the use of ; and | symbol. Is there any difference between these two?
Explain the outcome of:
who; sort
who | sort
thx

have you tried these commands?

looks like homework... thread closed.