最近开始学习mysql,做SQLZOO上面的题,下面部分题目的思路:
**Q1: Equatorial Guinea and Dominican Republic have all of the vowels (a e i o u) in the name. They don’t count because they have more than one word in the name.
Find the country that has all the vowels and no spaces in its name.
You can use the phrase name NOT LIKE ‘%a%’ to exclude characters from your results.
The query shown misses countries like Bahamas and Belarus because they contain at least one ‘a’.**
大意是查询world表中所有元音字母(a e i o u)都出现并只出现一次,而且名字只包含一个单词的国家(可以理解为没有空格)。
这里需要考虑三部分内容:①元音字母都出现;②每个元音字母只出现一次;③名字只包含一个单词。
思路一:
SELECT name FROM world
WHERE name LIKE '%a%' AND (length(name) - length(replace(name,'a','')) = 1)
AND name LIKE '%e%' AND (length(