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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Шаг 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 в иерархических запросах?

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

Интервал:

Закладка:

Сделать

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

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


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

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

x