Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL Запрос, задача не могу решить

Денис Харитонов Ученик (97), на голосовании 1 день назад
Подскажите что я пишу не так? почему не выводит все данные? как то группирую не так?
Голосование за лучший ответ
Farrux Soliyev Мастер (1689) 1 месяц назад
SELECT side_number
FROM airliners
WHERE country not like 'Russia'
union
Select side_number
From airliners
Where country = 'Russia'
And production_year not BETWEEN '2005' AND '2008' AND range >'5000'
Денис ХаритоновУченик (97) 1 месяц назад
Спасибо, все верно. Только я не пойму почему ты написал:
union ?
и Where country = 'Russia' ?
Farrux Soliyev Мастер (1689) Денис Харитонов, В результате операции UNION сцепляются результирующие наборы двух запросов. При этом операция UNION не создает отдельные строки для столбцов, полученных из двух таблиц.
Денис ХаритоновУченик (97) 1 месяц назад
Тогда не понимаю почему тут так не работает
Farrux Soliyev Мастер (1689) Денис Харитонов, после 'ABA' не будет точка с запятой
Noname Просветленный (23666) 1 месяц назад
Не в России, сказано же. В условии используй or (в задании написано про группировку условий)
Александр Кудрявцев Ученик (105) 3 недели назад
;WITH AIR_CTE AS (
SELECT side_number, range
FROM Airlines
WHERE country != 'Russia' and production_year NOT IN (2005,2008)
)
SELECT side_number FROM AIR_CTE WHERE range > 5000
Александр КудрявцевУченик (105) 3 недели назад
Использование OR в SQL желательно избегать. Лучше использовать CTE как в примере выше.
Похожие вопросы