Något sådant här borde uppfylla specifikationen:
SELECT f.bar
FROM frequents f
WHERE f.drinker IN ('John','Rebecca')
GROUP
BY f.bar
HAVING COUNT(DISTINCT f.drinker) < 2
- hämta alla
bar
för "John" och/eller "Rebecca" - komprimera raderna till en enda rad för varje
bar
- få ett antal
drinker
för varje stapel - kassera rader som har ett antal 2 (dvs. både John och Rebecca)
- lämnar bara värden för
bar
för John och inte Rebecca eller vice versa