Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала

Здесь есть возможность читать онлайн «Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 11, Жанр: Программирование, Базы данных, Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Oracle SQL. 100 шагов от новичка до профессионала: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Oracle SQL. 100 шагов от новичка до профессионала»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

Oracle SQL. 100 шагов от новичка до профессионала — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Oracle SQL. 100 шагов от новичка до профессионала», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

3. Выведите на экран 5 сотрудников с самой высокой зарплатой, выведите зарплату, которая меньше, чем у данного в рейтинге personA.

4. Повторите запрос с накопительным итогом зарплаты по отделам с сортировкой по номеру отдела, поясните результат.

5. Поясните отличие аналитической функции ROW_NUM от аналитической функции ORDER BY.

День тринадцатый

Шаг 61. Аналитический SQL. Конструкции окна. Первая и последняя строки

Введение

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

Это сложная тема, поэтому я выделил ее в отдельный шаг.

Теория и практика

Разберемся, что такое:
• запросы для вычисления результата в рамках временного окна;
• запрос для поиска следующих и предыдущих значений после текущей записи в источнике данных по некоторому признаку.
Рассмотрим вновь синтаксис аналитического запроса:

Здесь PRECEDING и FOLLOWING задают верхнюю и нижнюю границы окна агрегирования (то есть определяют строки интервала для агрегирования).

В запросе используется конструкция окна ROWS BETWEEN N PRECEDING AND CURRENT ROW для вычисления среднего avg (sal), считаются 3 предыдущие строки перед текущей строкой.

Рисунок 172. Демонстрация работы аналитических функций: запрос к PERSONA, расчет среднего

Рисунок 173. Демонстрация работы аналитических функций: запрос к PERSONA, расчет среднего

В запросе используется конструкция окна ROWS BETWEEN N PRECEDING AND CURRENT ROW для вычисления среднего avg (sal), считаются все (UNBOUNDED) предыдущие строки перед текущей строкой.

В аналитическом SQL существуют аналитические функции, которые определяют значение n предыдущих или последующих строк по отношению к текущей строке в группе.

Разберем данные аналитические функции:

• LAG (f, n, m): f — имя поля, n — предыдущее значение в группе, m — значение по умолчанию;

• LEAD (f, n, m): f — имя поля, n — последующее значение в группе, m — значение по умолчанию;

•FIRST_VALUE (f): f — имя поля, первое значение в группе;

• LAST_VALUE (f): f — имя поля, последнее значение в группе.

Несколько примеров использования данных аналитических функций.

Рисунок 174. Демонстрация работы аналитических функций: запрос к PERSONA, LAG, LEAD

Выводится зарплата сотрудника, предыдущая зарплата по рейтингу LAG (SAL,1), следующая зарплата по рейтингу LEAD (SAL,1).

Рисунок 175. Демонстрация работы аналитических функций: запрос к PERSONA, FIRST_VALUE, LAST_VALUE

Важные замечания

В функциях LAG и LEAD есть еще один важный параметр — это значение, которое будет возвращать функция, если результат будет равен NULL.

Пример такого запроса:

Рисунок 176. Демонстрация работы аналитических функций: запрос к PERSONA, функции LAG, LEAD

В данном случае пустые значения функций LAG, LEAD заменятся на 999999999.

Обратите внимание, что при использовании FIRST_VALUE, LAST_VALUE указывать сортировку не обязательно. Тогда данные функции будут работать как агрегатные функции MIN и MAX в рамках сегмента.

При указании сортировки LAST_VALUE будет возвращать последнее значение в рамках накопительного итога.

Вопросы учеников

Можно ли использовать LAG, LEAD вне рамок сегмента?

Да, и эта возможность довольно часто используется на практике.

Пример:

Как найти в рамках нашего примера зарплату 2 за 3 строчки перед текущей в рамках рейтинга по величине зарплаты?

Второй параметр в LAG, LEAD обозначает количество строк перед или после текущей строки, за которой возвращается значение.

В конструкции окна аналитической функции есть возможность оперировать интервалами времени. Приведите пример.

Это возможно с данными типа DATE или TIMESTAMP. Пример интервала за 20 дней назад от даты, соответствующей текущей строке запроса.

Можно ли использовать аналитический SQL, аналитические функции вместе с операциями группировки в запросе?

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

Рисунок 176. Демонстрация работы аналитических функций: запрос к PERSONA, функции LAG, LEAD

Контрольные вопросы и задания для самостоятельного выполнения

1. Выведите значение зарплаты сотрудника в отделе, следующую зарплату по рейтингу.
2. Выведите значение зарплаты сотрудника в отделе, предыдущую зарплату по рейтингу.
3. Выведите значение зарплаты сотрудника в отделе, среднюю зарплату по рейтингу за предыдущие две строки.
4. Выведите значение зарплаты сотрудника в отделах, максимальную и минимальную зарплату в отделах.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала»

Представляем Вашему вниманию похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Oracle SQL. 100 шагов от новичка до профессионала»

Обсуждение, отзывы о книге «Oracle SQL. 100 шагов от новичка до профессионала» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x