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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Шаг 54. PIVOT — переворачиваем запрос с группировкой

Введение

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

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

Для транспонирования таблицы с группировкой в ORACLE SQL используется специальный оператор PIVOT.

Синтаксис конструкции:

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

СОЗДАДИМ ДЕМО-ТАБЛИЦУ.

Условимся, что перечень значений свойств был ограничен.

Для примера создадим таблицу со следующими полями:
• идентификатор;
• название;
• цвет.
По условиям задачи у нас ЗАДАННОЕ количество цветов — красный, зеленый, синий.

Заполним таблицу данными, выделяя каждую команду отдельно.

ВЫПОЛНИМ ЗАПРОС, чтобы посмотреть, что у нас получилось.

Другой пример — запрос с группировкой значений.

Рисунок 142. Использование PIVOT

И перепишем уже запрос с использованием PIVOT.

Рисунок 143. Запрос с группировкой: демонстрация PIVOT

Проделаем то же самое с таблицей AUTO.

Рисунок 144. Демонстрация использования AUTO

Удалим тестовую таблицу t1.

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

Для функции PIVOT существует обратная функция UNPIVOT — для преобразования строки запроса в столбец.

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

Какие агрегатные функции мы можем использовать в конструкции PIVOT?

Такие же, как и в запросах с группировкой GROUP BY. Это могут быть SUM, COUNT, MIN, MAX, AVG.

Как задать свои наименования столбцов?

После оператора FOR можно задавать свои наименования столбцов через инструкцию AS.

Пример:

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

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

2. Повторите с использованием PIVOT запрос с марками авто AUTO (MARK).

Шаг 55. Использование итераторов

Введение

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

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

Создание итераторов реализуется с помощью конструкции CONNECT BY.

Синтаксис

В переменную LEVEL будут выведены последовательно значения от 1 до N.

Простой пример: выведем в запросе все числа от 1 до 100.

То есть специальное ключевое слово LEVEL выполняет роль последовательности от 0 до ограничения LEVEL <101.

Рисунок 145. Демонстрация работы итератора

Пример итератора Connect By для работы с датами на ORACLE SQL.

Вывести календарь на следующие 30 дней.

Здесь level применяется одновременно с функцией SYSDATE.

Рисунок 146. Использование итераторов

Вывести календарь на следующие 30 дней, без субботы и воскресенья.

Рисунок 147. Использование итераторов

Вывести числа от 1 до 100, кроме чисел, которые делятся на 3 нацело.

Рисунок 148. Использование итератора MOD

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

Данную конструкцию итератора CONNECT BY можно использовать в сочетании с другими запросами SQL, например:

Рисунок 149. Использование итератора

Иногда это может быть удобно и востребовано на практике.

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

Я пишу следующий запрос: SELECT level FROM DUAL CONNECT BY (Level <11 and level> 5), но результат неправильный, выводится только одна строка, почему так происходит?

Подобный синтаксис, действительно, хоть и не вызывает ошибку, но приводит к некорректным результатам.

Попробуйте сделать следующим образом:

Чем отличается Sequence от итераторов в запросах с CONNECT BY?

Это совершенно разные сущности, хотя результат их работы в чем-то схож. SEQUENCE представляет собой реальный физический объект в базе данных, обращение к которому позволяет вывести на экран заданную последовательность значений, запрос CONNECT BY LEVEL — это просто способ сделать почти то же самое в запросе, без создания SEQUENCE.

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

1. Вывести с помощью запроса значение sin числа от 0 до 1 с шагом 0,1.

2. Вывести с помощью запроса число и день недели (TO_CHAR (DATE,«DY»)) всех дней за 2008 год.

3. Вывести с помощью запроса все числа от 500 до 1000, кроме тех чисел, которые делятся нацело на 10.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x