I have seen this question from sql zoo select from world tutorial(13 th one)В чем разница между следующими запросами
SELECT
name, continent,
CASE
WHEN continent = 'Oceania' THEN 'Australasia'
WHEN continent = 'Eurasia' OR 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;
SELECT
name, continent AS 'Original Continent',
CASE WHEN continent = 'Oceania' THEN 'Australasia'
WHEN continent = 'Eurasia' OR name = 'Turkey' THEN 'Europe/Asia'
WHEN continent IN (SELECT continent FROM world
WHERE continent = 'Caribbean'
AND name LIKE 'B%') THEN 'North America'
WHEN continent IN (SELECT continent FROM world
WHERE continent = 'Caribbean'
AND name NOT LIKE 'B%') THEN 'South America'
ELSE continent
END as 'New Continent'
FROM
world
ORDER BY
name;
первый показывает правильные результаты, а второй не так, в чем разница? Может кто-нибудь ответить.
О.И. удалены лишние теги базы данных. Не стесняйтесь пометить базу данных, которую вы фактически используете. –
Проверьте данные таблицы, и вы увидите. – jarlh