Algo assim deve satisfazer a especificação:
SELECT f.bar
FROM frequents f
WHERE f.drinker IN ('John','Rebecca')
GROUP
BY f.bar
HAVING COUNT(DISTINCT f.drinker) < 2
- obtenha todas as
barpara 'John' e/ou 'Rebecca' - recolher as linhas em uma única linha para cada
bar - obter uma contagem de
drinkerpara cada barra - descarte as linhas que tenham uma contagem de 2 (ou seja, John e Rebecca)
- deixando apenas valores de
barpara John e não para Rebecca ou vice-versa