sql查询:显示所有元音的名称

时间:2017-10-25 12:24:59

标签: mysql sql

赤道几内亚和多米尼加共和国的名字中包含所有元音(a,e,i,o,u)。他们不算数,因为他们名字中有多个单词。

Find the country that has all the vowels and no spaces in its name?

您可以使用短语名称NOT LIKE'%a%'从结果中排除字符。所显示的查询错过了像巴哈马和白俄罗斯这样的国家,因为它们至少包含一个' a'

SELECT name
FROM world
WHERE name LIKE '%u' 
      and name LIKE '%a' 
      and name LIKE '%o' 
      and name LIKE '%i'
      and name LIKE '%e'
      and name NOT LIKE '% %'

它不起作用。正确的答案是"莫桑比克"

我将其硬编码为"其名称类似于' Moz'。它有效,但它的作弊

6 个答案:

答案 0 :(得分:6)

尝试使用and name LIKE '%a%'作为元音,这将搜索整个字符串,而不仅仅是最后一个字母。

例如:

SELECT name
FROM world
WHERE name LIKE '%u%' 
  and name LIKE '%a%' 
  and name LIKE '%o%' 
  and name LIKE '%i%'
  and name LIKE '%e%'
  and name NOT LIKE '% %'

答案 1 :(得分:2)

SELECT name FROM world WHERE name LIKE '%a%' AND
                             name LIKE '%e%' AND
                             name LIKE '%i%' AND
                             name LIKE '%o%' AND
                             name LIKE '%u%'

答案 2 :(得分:0)

这应该有效:

SELECT name
FROM world
WHERE name NOT LIKE '% %'
AND name LIKE '%a%'
AND name LIKE '%e%'
AND name LIKE '%i%'
AND name LIKE '%o%'
AND name LIKE '%u%'

答案 3 :(得分:0)

Select first_name from employees where substr(first_name,1,1) in ('A','E','I','O','U');

答案 4 :(得分:-1)

  

WHERE CustomerName LIKE'%a'查找以“a”结尾的任何值

这一定是你的问题,就像Ankit所指的那样

  

WHERE CustomerName LIKE'%或%'查找任何包含“或”的值   位置

答案 5 :(得分:-2)

SELECT * FROM world WHERE name  NOT REGEXP '[^aeiou]' AND name NOT LIKE '% %';