However, the most common cause
is a virus called Norovirus.
It is spead from person to person by fecal oral contamination.
It is highly contagious and so when someone in a restuarant ,or anywhere really, doesn't wash their hands after using the restroom it gets spread to another person. For example if they didn't wash their hands and prepared foods a whole outbreak will occur such as often occurs on cruise ships. In children they can also get Rotavirus in the same manner.