Din första fråga skulle vara korrekt om du använde AND
istället för OR
.
Du kanske tycker att det är enklare som:
where not (city like 'A%' or city like 'E%' or . . . ) and
. . .
Enligt logikens regler motsvarar detta:
where city not like 'A%' and city not like 'E%' and . . . ) and
. . .
När det gäller det reguljära uttrycket har det bara jämförelsen i början av strängen:
where not regexp_like(lower(city), '^[aeiou].*[aeiou]$')