Аналитический SQL для разработчиков


Представляем бесплатный, быстрый и официальный курс для самостоятельного изучения, один из тестов Oracle Dev Gym, о концепциях и синтаксисе аналитических функций SQL.

Викторины Oracle Dev Gym, набор тренировок и классов, предлагают форму «активного обучения», осознавая идею о том, что для того, чтобы лучше писать код, вам действительно нужно писать код, а также читать и понимать код. сочетание видео и руководств по коду, которые включают интерактивную площадку, где вы можете настраивать и запускать прилагаемый к руководству код, чтобы укрепить свои навыки понимания кода и подробно изучить рассматриваемый предмет.Чтобы присоединиться, вам просто нужна учетная запись Oracle, которая является бесплатной тоже.

Аналитические функции должны стать следующим шагом в карьере каждого разработчика SQL; это естественный прогресс после того, как вы управляете объединениями, подзапросами, агрегатными функциями, встроенными представлениями, CTE и т. д.

Верно также и то, что аналитический SQL окружен завесой тайны и часто кажется чем-то слишком сложным для понимания. Если это так, не бойтесь! Коннор Макдональд, бывший директор Oracle ACE, делает все возможное, чтобы развеять мистификацию аналитической части SQL в этой серии викторин для разработчиков. И он делает это с помощью двухминутных сеансов, которые не просто представляют синтаксис, но фактически решают реальные проблемы.

Сценарий состоит в том, что у вас есть менеджер, который просит вас получить ему всевозможную информацию из вашей базы данных, и вы должны использовать для этого свои аналитические навыки. Конечно, вы можете получить те же результаты и без использования аналитики, но код, который вы напишете, будет ужасным!

Пример запроса:

Решение без аналитики:

Решение с аналитикой:

Схема, данные для ввода и аналитический запрос, связанный с запросом, доступны в виде пакета Live SQL, то есть в виде игровой площадки (например, SQL Fiddle), которая запускается внутри вашего браузера, где вы можете запускать и экспериментировать с примером кода. В конце каждого модуля также есть последующие вопросы с несколькими вариантами ответов, которые призваны улучшить понимание материала.

Теперь перейдем к модулям:

Модуль 1: Введение. Введение в аналитический синтаксис SQL и написание ваших первых запросов для ранжирования / упорядочения данных в наборе результатов.

Модуль 2: Предикаты и секционирование Использование аналитических функций в качестве предиката (например, «Покажи мне 5 самых высокооплачиваемых работников») требует заботы о том, чтобы результаты были логически согласованными. Предложение о секционировании в Analytics (не путать с секционированием таблицы) является средства, с помощью которых аналитические выражения могут применяться к логическим группам данных в наборе результатов.

Модуль 3: Windows Возможно, самая мощная конструкция в аналитическом SQL и самая сложная для понимания — это предложение окон. Это определяет, насколько широко набор строк и / или значений будет обрабатываться для аналитического выражения.

Модуль 4: Подробнее о Windows и функции LAG / LEAD Окна могут быть динамическими, иметь автоматические значения по умолчанию, а наличие нулей может изменить способ применения оконного выражения. Функции LAG / LEAD, возможно, являются наиболее часто используемыми аналитическими функциями, что позволяет легко кодировать такие запросы, как «сравнить сегодняшние продажи со вчерашними», без ненужных самосоединений.

Модуль 5: Решение проблем с помощью аналитики Теперь, когда мы рассмотрели компоненты синтаксиса и использование функций, мы переходим к применению этих навыков для решения конкретных проблем с использованием аналитических функций.

Модуль 6: Дополнительные функции и подведение итогов Существует несколько других функций, которые подпадают под действие аналитического SQL в наборе документации Oracle Data Warehousing. Курс завершится рассмотрением этих более эзотерических функций, чтобы дополнить вашу базу знаний по Analytics.

Вкратце, модуль 1 перебирает строки ранжирования с помощью Rank, Dense Rank, Row_Number и т. Д., Модуль 2 перебирает предложение Partition, модуль 5 объединяет все вместе, а модуль 6 посвящен эзотерическим функциям, нацеленным на хранилище данных Oracle.

Подводя итоги, можно сказать, что Analytic SQL for Developers был легким курсом, посвященным сложному предмету. Я могу подтвердить, что ему удалось достичь своей цели — раскрыть «темные» секреты аналитических функций SQL.


Добавить комментарий