Опорная идея
SQL позволяет выражать вопрос к данным декларативно: какие строки нужны, как соединить таблицы, как агрегировать и как упорядочить результат. Сильный SQL-разработчик умеет читать join path, понимать cardinality, применять window functions и не превращать запрос в неявный full scan.
Для аналитических витрин особенно важны CTE, window functions и аккуратная работа с периодами, сегментами и пропусками.