從表中查詢不以元音開頭且不以元音結尾的CITY名稱串列。STATION您的結果不能包含重復項。
https://www.hackerrank.com/challenges/weather-observation-station-12/problem
使用LIKE運算子,我想出了 3 個查詢,如下所示:
在職的
SELECT DISTINCT CITY
FROM STATION
WHERE CITY NOT LIKE '[aeiou]%'
AND CITY NOT LIKE '%[aeiou]'
在職的
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '[^aeiou]%[^aeiou]';
不作業:
SELECT DISTINCT CITY
FROM STATION
WHERE CITY NOT LIKE '[aeiou]%[aeiou]';
有人能告訴我為什么這第三個查詢不起作用嗎?
uj5u.com熱心網友回復:
第三種方法查找不以元音開頭和結尾的城市。它將錯誤地回傳以元音開頭但不以 1 結尾的城市,或者不以元音開頭但以 1 結尾的城市。
uj5u.com熱心網友回復:
你所有的答案都是錯誤的!就是這個:
select DISTINCT CITY from STATION where CITY LIKE '[^aeiouAEIOU]%[^aeiouAEIOU]';
uj5u.com熱心網友回復:
WHERE CITY NOT LIKE '[aeiou]%'
AND CITY NOT LIKE '%[aeiou]'
此查詢回傳不以元音字符開頭且不以元音結尾的行。
這基本上就是所問的問題。
WHERE CITY LIKE '[^aeiou]%[^aeiou]';
此查詢回傳以下行:以非元音字符開頭并以非元音字符結尾。
這并不完全相同,因為它至少需要兩個字符,而第一個版本只需要一個字符。
WHERE CITY NOT LIKE '[aeiou]%[aeiou]';
此查詢回傳以下行:以元音字符開頭,并以元音字符結尾。
這與之前的查詢完全不同。另一種表達方式是:以非元音開頭或以非元音結尾的行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/504866.html
