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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

Может ли быть использован 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

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

Подобное использование WITH, подобный механизм используется в СУБД ORACLE начиная с версии 12С.

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

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

Можно ли использовать в WITH не только функции, но и процедуры?

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

Пример, как это сделать:

В этом примере из функции MULT вызывается процедура prcplus, а сама функция MULT используется в запросе.

Можно ли использовать WITH совместно с командами обновления данных UPDATE?

В данном запросе обновляется возраст людей из MAN1 (+1) с использованием функции PLUS ().

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

1. Повторить запросы из данного шага.

2. Написать WITH запрос-функцию, вычисляющую количество авто каждого цвета из AUTO, вывести результат: марку машины, количество машин данной марки.

3. Написать WITH запрос-функцию, добавляющую к цвету авто из таблицы AUTO слово «цвет». Результат: BMW цвет белый.

4. Написать WITH запрос-функцию, умножающую PEOPLES на 1000 из таблицы CITY. Результат: Москва 100 000.

5. Написать запрос-функцию из таблицы MAN, объединяющую имя и фамилию.

Шаг 65. Группировки с DECODE и CASE

Введение

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

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

Простой способ сгруппировать данные в одном запросе.

В ORACLE существует системное представление ALL_OBJECTS.

Необходимо посчитать количество таблиц, индексов, представлений для каждого владельца и общее количество объектов каждого владельца из представления.

Напишем запрос:

GROUP BY OWNER:

Рисунок 183. Запрос к ALL_OBJECTS: использование для группировок

В одном запросе мы подсчитали количество таблиц, индексов и количество представлений, а также количество других объектов.

Обратимся к нашей схеме.

Посчитаем количество авто BMW, LADA и прочих одним запросом.

Рисунок 184. Запрос к AUTO: использование для группировок

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

В подобных запросах следует учитывать пустые значения ячеек таблицы.

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

Можно ли использовать другие агрегатные функции, например SUM?

Вот пример: переделаем запрос с использованием агрегатной функции SUM.

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

1. Повторите материалы данного шага.

2. Напишите запрос, который бы подсчитал количество авто синего, красного и остальных цветов из таблицы AUTO. Используйте DECODE.

3. Напишите запрос, который бы подсчитал людей, которые купили авто, которые не купили авто — в другой колонке, из таблицы MAN. Используйте DECODE.

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

Шаг 66. Преобразуем запрос в строчку LISTAGG

Введение

В ORACLE SQL есть возможность преобразовать результат запроса в CSV-строку или в любую другую заданную строку с разделителем.

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

Функция LISTAGG объединяет значения заданного поля таблицы для каждой группы в строку, через указанный разделитель.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x