Какие запросы для SQL считаются сложными запросами?

В вакансиях на программиста часто встречаю такую запись:
умение писать сложные SQL запросы

Подскажите, а что это за сложные запросы?
Например, вложенные селекты, или IN или INNER JOIN ?

Хочу для портфолио собрать SQL запросы :)
  • Вопрос задан
  • 1123 просмотра
Решения вопроса 3
dimonchik2013
@dimonchik2013
non progredi est regredi
https://www.sql-ex.ru/ какой у тебя рейтинг? вот именно...
Ответ написан
@Akina
Сетевой и системный админ, SQL-программист.
Подобный текст в вакансиях обычно означает вовсе даже не сложные запросы. Обычно речь о сильнозамороченных запросах, которые полны текста и со стороны смотрятся лихозакрученным многоэтажным безобразием, но на самом деле простые и плоские как блин. Тупая выборка, тупой подзапрос, тупые вычисления... всё, что надо - это аккуратность и способность донести понимание, что есть что и зачем делается, не расплескав, до конца запроса. Ибо если потерял мысль на полпути - проще стереть и начать заново, чем вспоминать, что это и нахрена ты это тут сделал.

Сложные, реально сложные, запросы бывают (по крайней мере навскидку) двух типов.

Первый - это запросы, которые имеющимися (как правило в конкретной СУБД либо в конкретной версии) средствами должны выполнить то, что в данной версии не имплементировано. Типичнейший пример из этой категории - например, динамические сводные запросы в большинстве СУБД. Или эмуляция рекурсивных запросов и оконных функций там, где их нет.

Второй - это запросы, в которых для оптимизации скорости выполнения приходится далеко отходить от прямого, "в лоб", выполнения, и строить достаточно замороченные тексты, которые реализуют ту же логику, но из-за особенностей выполнения запроса сервером гораздо более эффективны. Тут, пожалуй, типичный запрос привести трудно, но достаточно характерным примером может служить выбор между WHERE [NOT] EXISTS и LEFT JOIN WHERE IS [NOT] NULL (и обязательным гноблением WHERE [NOT] IN).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@d-stream
Готовые решения - не подаю, но...
Ну например когда собеседующему непонятно как запрос собеседуемого работает, но он работает, результат получается верный и быстрее чем получилось у собеседующего)

p/s/ резюме с портфолио запросов - сразу фтопку)
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
Сходи на собеседование и тебе зададут эти самые "сложные запросы"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы