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

Тут можно читать онлайн Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 11. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Oracle SQL. 100 шагов от новичка до профессионала
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    11
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

Oracle SQL. 100 шагов от новичка до профессионала - описание и краткое содержание, автор Максим Чалышев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

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

Oracle SQL. 100 шагов от новичка до профессионала - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Максим Чалышев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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

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

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

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

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

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

Шаг 62. Конструкция KEEP FIRST/LAST

Введение

Конструкция KEEP FIRST/LAST используется в SQL ORACLE для вычисления значения первой или последней записи в заданной подгруппе, отсортированной по некоторому признаку.

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

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

С помощью KEEP FIRST/LAST реализована возможность выбрать первое (последнее) значение в отсортированном наборе внутри группы.

Проще понять это на примере.

Создадим таблицу курсов валют.

Заполним таблицу тестовыми данными.

За каждый день в таблице может быть несколько курсов заданной валюты.

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

Минимальное и максимальное значения курса за наибольшую дату.

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

А теперь используем KEEP FIRST, KEEP LAST. Посмотрите, насколько улучшился наш запрос.

Немного подробнее о том, что мы здесь написали.

Функция SUM, MAX, MIN находит сумму, максимальное и минимальное значения из курсов валют за последнюю и первую дату в группе ticker.

В конструкции KEEP FIRST, KEEP LAST мы можем использовать следующие агрегатные функции: MIN, MAX, SUM, AVG, COUNT, VARIANCE, STDDEV.

Конструкция KEEP (DENSE_RANK LAST ORDER BY PDATE) означает, что мы осуществляем работу с последними LAST значениями, с сортировкой по полю PDATE; в свою очередь, DENSE_RANK FIRST ORDER BY PDATE вернет агрегатной функции MAX (PRICE) первые значения PRICE, отсортированные по PDATE.

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

Конструкцию можно использовать совместно с аналитическими функциями.

Использование KEEP FIRST LAST вместе с аналитической функцией.

Аналитические функции, которые могут применяться: MIN, MAX, SUM, AVG, COUNT, VARIANCE, STDDEV.

Более подробно про использование аналитических функций можно посмотреть на предыдущих двух шагах.

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

Можно ли конструкцию KEEP заменить простыми запросами?

Да, можно построить запрос с использованием DECODE, CASE.

Можно ли применить конструкцию KEEP совместно с аналитическими функциями?

Да, с аналитическими функциями можно использовать конструкцию FIRST LAST.

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

1. Для автомобилей из таблицы AUTO из нашей учебной схемы найдите цвет авто с максимальной или минимальной датой выпуска, используйте KEEP FIRST LAST.

2. Для городов CITY из нашей учебной схемы найдите название города с максимальным количеством населения, используйте KEEP FIRST LAST.

Шаг 63. Конструкция WITH

Введение

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

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

Оператор WITH позволяет заранее формировать внутренний подзапрос и далее обращаться к данному подзапросу по синониму в основном запросе.

Очень часто используется совместно c XML Type и XML SEQ, а также в сложных запросах с множеством реляционных отношений.

Синтаксис
Простой WITH

Здесь t1 — псевдоним запроса, к которому идет обращение в основной команде SELECT.

Сложный WITH

Примеры

Простой оператор WITH:

Рисунок 178. Запрос к CITY: использование WITH

Сложное обращение

Рисунок 179. Запрос к AUTO1: использование WITH

Два запроса из WITH

Рисунок 180. Запрос к ALL_OBJECTS: использование WITH

В этом запросе используется системное представление ALL_OBJECTS, с которым мы познакомимся в следующих шагах.

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

Конструкция WITH может также быть записана следующим образом:

Обратите внимание, что колонка owner является составной.

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

Второй пример:

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

Можно ли использовать конструкцию WITH с XML?

Да, конструкция WITH с XML работает с разбором XML-документов. Пример подобного запроса мы разберем далее, когда будем изучать работу с XML.

Можно ли использовать конструкцию WITH с CONNECT BY в иерархических запросах?

Вот пример подобного запроса:

Может ли быть использован WITH совместно с UNION?

Да, например таким образом:

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

1. Повторите материалы данного шага.
2. Поясните назначение оператора WITH.
3. Поясните, как используется WITH в иерархических запросах.

Шаг 64. Конструкция With и функции

Введение

В SQL диалекте ORACLE 12C есть возможность определить функцию или процедуру на языке PL/SQL и использовать с помощью оператора WITH, как обычный SQL.

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

Специальная инструкция WITH с FUNCTION используется, когда необходимо вернуть данные, преобразованные с помощью сложного нелинейного алгоритма.

Синтаксис

Примеры

Вывести на экран марки автомобиля из таблицы AUTO.

Используемая функция REVERSIVE_FNC выводит слово справа налево по буквам.

Рисунок 181. Использование WITH и FUNCTION

Еще пример. Добавить к идентификатору города заданное количество нулей, преобразовать к числу.

Рисунок 182. Использование WITH и FUNCTION

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

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

Интервал:

Закладка:

Сделать


Максим Чалышев читать все книги автора по порядку

Максим Чалышев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Oracle SQL. 100 шагов от новичка до профессионала, автор: Максим Чалышев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x