Selecione valores que atendam a diferentes condições em diferentes linhas?

Esta é uma consulta muito básica que não consigo descobrir ....

Digamos que eu tenho uma tabela de duas colunas como esta:

userid  |  roleid
--------|--------
   1    |    1
   1    |    2
   1    |    3
   2    |    1

Quero obter todos os userids distintos que tenhamroleids 1, 2 E 3. Usando o exemplo acima, o único resultado que desejo retornar éuserid 1. Como faço isso?

questionAnswers(5)

yourAnswerToTheQuestion