Algoritmo de coincidencia en SQL

Tengo la siguiente tabla en mi base de datos.

# select * FROM matches;
 name | prop |  rank
------+------+-------
 carl |    1 |     4
 carl |    2 |     3
 carl |    3 |     9
 alex |    1 |     8
 alex |    2 |     5
 alex |    3 |     6
 alex |    3 |     8
 alex |    2 |    11
 anna |    3 |     8
 anna |    3 |    13
 anna |    2 |    14
(11 rows)

Cada persona se clasifica en el trabajo por diferentes propiedades / criterios llamados 'prop' y el rendimiento se llama 'ranking'. La tabla contiene múltiples valores de (nombre, accesorio) como muestra el ejemplo. Quiero obtener el mejor candidato siguiendo algunos requisitos. P.ej. Necesito un candidato que tenga(prop=1 AND rank > 5) y(prop=3 AND rank >= 8). Entonces debemos poder clasificar a los candidatos por sus clasificaciones para obtener el mejor candidato.

EDITAR: cada persona debe cumplir con TODOS los requisitos

¿Cómo puedo hacer esto en SQL?

Respuestas a la pregunta(4)

Su respuesta a la pregunta