Выберите из таблицы города, которые не начинаются с гласных и не заканчиваются гласными - PullRequest
0 голосов
/ 15 мая 2019

Запросите список названий CITY от STATION, которые не начинаются с гласных и не заканчиваются гласными. Ваш результат не может содержать дубликаты.

Station таблица содержит столбцы, названные

id (int), 
city varchar(21),
state varchar2(2) 

РЕШЕНИЕ:

select distinct city from station 
Except
select distinct city from station where city like '[aeiou]%[aeiou]'

ИЛИ

select distinct city from station where city not like '[aeiou]%[aeiou]'

Оба запроса не работают. Может кто-нибудь дать свой вклад по этой проблеме?

Ответы [ 2 ]

2 голосов
/ 15 мая 2019

Использование подстановочный знак не совпадает поможет в этом случае.

Следующий запрос вернет названия городов, которые не начинаются и не заканчиваются гласными.

SELECT DISTINCT city FROM station 
WHERE (LOWER(city) LIKE '[^aeiou]%' AND LOWER(city) LIKE '%[^aeiou]');

Демо с некоторыми примерами данных:

DECLARE @Station TABLE (City VARCHAR (50));

INSERT INTO @Station (City) VALUES
('Abced'), ('EeepA'), ('CongE'), ('RaaaR'), ('KeeeK');

SELECT DISTINCT city FROM @station 
WHERE (LOWER(city) LIKE '[^aeiou]%' AND LOWER(city) LIKE '%[^aeiou]');

Выход:

city
-----
KeeeK
RaaaR

Демонстрация по дб <> скрипка

0 голосов
/ 16 июля 2019

Это сработало для меня, используя MySQL:

select distinct CITY from STATION where CITY NOT RLIKE '^[aeiouAEIOU]' AND CITY NOT RLIKE '[AEIOUaeiou]$' GROUP BY CITY;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...