sqlzoo上"从世界中选择"教程的第13部分有什么解决方案?

sys*_*ich 5 sql case case-when sql-like

问题的语句是:

把大陆说得对...

  • 大洋洲成为澳大拉西亚
  • 欧亚大陆和土耳其的国家去欧洲/亚洲
  • 以'B'开头的加勒比群岛前往北美洲,其他加勒比岛屿则前往南美洲

显示所有国家的名称,原始大陆和新大陆.

我的解决方案

SELECT name, continent,
   CASE WHEN continent='Oceania' THEN 'Australasia'
        WHEN continent IN ('Europe', 'Asia') THEN 'Europe/Asia'
        WHEN name='Turkey' THEN 'Europe/Asia'
        WHEN continent='Caribbean' AND name LIKE 'B%' THEN 'North America'
        WHEN continent='Caribbean' AND name NOT LIKE 'B%' THEN 'South America'
        ELSE continent END
FROM world
Run Code Online (Sandbox Code Playgroud)

我从sqlzoo得到的结果是"错误答案.有些数据不正确."

mar*_*kus 10

这适合我.不要问我为什么必须使用ORDER BY(没有它就没有用).

SELECT name, continent,
   CASE WHEN continent='Oceania' THEN 'Australasia'
        WHEN continent =  'Eurasia' THEN 'Europe/Asia'
        WHEN name='Turkey' THEN 'Europe/Asia'
        WHEN continent='Caribbean' AND name LIKE 'B%' THEN 'North America'
        WHEN continent='Caribbean' AND name NOT LIKE 'B%' THEN 'South America'
        ELSE continent END
FROM world ORDER BY name
Run Code Online (Sandbox Code Playgroud)

  • "ORDER BY"是使网站运作所必需的,而不是回答对问题的这种解释. (3认同)