Когда я пишу SQL-запросы, я часто думаю, что «нет способа сделать это с помощью одного запроса». Когда это происходит, я часто обращаюсь к хранимым процедурам или табличным функциям с несколькими инструкциями, которые используют временные таблицы (того или иного типа), и в итоге просто объединяет результаты и возвращает таблицу результатов.
Мне интересно, знает ли кто-нибудь, просто по теории, можно ли написать ЛЮБОЙ запрос, который возвращает один набор результатов в виде одного запроса (а не нескольких операторов). Очевидно, я игнорирую важные моменты, такие как читаемость и удобство сопровождения кода, возможно, даже производительность / эффективность запросов. Это больше о теории - можно ли это сделать ... и не волнуйтесь, я, конечно, не планирую начинать заставлять себя писать запрос с одним оператором, когда мульти-оператор лучше подходит для моих целей во всех случаях, но это может заставить меня подумать дважды или чуть дольше о том, существует ли жизнеспособный способ получить результат от одного запроса.
Я предполагаю, что несколько параметров в порядке - я имею в виду реляционную базу данных (такую как MS SQL) с таблицами, которые следуют общепринятым рекомендациям (например, все таблицы, имеющие первичный ключ и т. Д.).
Примечание: чтобы выиграть «Принятый ответ», вам необходимо предоставить окончательное доказательство (ссылка на веб-материал или что-то подобное).