Weather Observation Station 11

  • + 1 comment

    Approach - 1 (REGEXP)

    SELECT DISTINCT CITY FROM STATION WHERE CITY NOT REGEXP '^[aeiou]' OR CITY NOT REGEXP '[aeiou]$'

    Approach - 2 (SUBSTRING)

    SELECT DISTINCT CITY FROM STATION WHERE SUBSTRING(CITY, 1, 1) NOT IN ('a', 'e', 'i', 'o', 'u') OR SUBSTRING(CITY, -1, 1) NOT IN ('a', 'e', 'i', 'o', 'u')

    NOTE: Instead of -1, you can use LENGTH(CITY)

    Approach - 3 (LEFT & RIGHT FUNCTION)

    SELECT DISTINCT CITY FROM STATION WHERE LEFT(CITY, 1) NOT IN ('a', 'e', 'i', 'o', 'u') OR RIGHT(CITY, 1) NOT IN ('a', 'e', 'i', 'o', 'u')

    Approach - 4 (LIKE OPERATOR)

    SELECT DISTINCT CITY FROM STATION WHERE (CITY NOT LIKE 'a%' AND CITY NOT LIKE 'e%' AND CITY NOT LIKE 'i%' AND CITY NOT LIKE 'o%' AND CITY NOT LIKE 'u%') OR (CITY NOT LIKE '%a' AND CITY NOT LIKE '%e' AND CITY NOT LIKE '%i' AND CITY NOT LIKE '%o' AND CITY NOT LIKE '%u');

    P.S. All above operators (IN, LIKE, REGEXP) used are case insensitive, so no need to write 'a' and 'A', simply 'a' will do the work for both the cases

    Upvote if it helped :)