Я хочу выбрать все города, которые начинаются и заканчиваются гласным символом. Я вижу разные пути, но я запутался, что лучше производительность?
select distinct city from the station
SELECT DISTINCT CITY
FROM station
WHERE left(city, 1) IN (
'a'
,'e'
,'i'
,'o'
,'u'
)
AND right(city, 1) IN (
'a'
,'e'
,'i'
,'o'
,'u'
)
второй способ с использованием регулярного выражения:
SELECT DISTINCT CITY
FROM station
WHERE city regexp '[aeiou]$'
AND city IN (
SELECT CITY
FROM STATION
WHERE CITY REGEXP '^[aeiou]'
);
и последний способ:
SELECT DISTINCT city
FROM station
WHERE (
lower(city) LIKE 'a%'
OR lower(city) LIKE 'e%'
OR lower(city) LIKE 'i%'
OR lower(city) LIKE 'o%'
OR lower(city) LIKE 'u%'
)
AND (
lower(city) LIKE '%a'
OR lower(city) LIKE '%e'
OR lower(city) LIKE '%i'
OR lower(city) LIKE '%o'
OR lower(city) LIKE '%u'
)
Что лучше и почему?