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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Введение

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

Язык SQL позволяет делить данные, полученные в результате выборки, на группы, объединенные по набору колонок — признаков группы.

Например, мы видим, что в запросе по таблице AUTO есть автомобили КРАСНОГО, ЗЕЛЕНОГО и СИНЕГО цветов.

То есть в данной таблице можно определить группы КРАСНЫХ, ЗЕЛЕНЫХ, СИНИХ автомобилей.

Мы сгруппировали автомобили по признаку цвета — колонке таблицы COLOR, и мы также можем сгруппировать авто по марке LADA или BMW, колонка MARK.

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

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

Синтаксис

Здесь группировки 1—n, колонка группировки — это названия колонок таблицы, по которой мы группируем данные.

Примеры

Группируем автомобили AUTO по марке (MARK).

Рисунок 85. Демонстрация работы GROUP BY: таблица AUTO MARK

Группируем автомобили AUTO по цвету (COLOR).

Рисунок 86. Группировка по цвету: запрос

Какие цвета автомобилей COLOR есть в таблице AUTO?

Группируем имена MAN по первой букве имени (FIRSTNAME).

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

Рисунок 87. Группировка по первой букве имени

Агрегатные функции

Определение группировки было бы неполным без понимания агрегатных функций.

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

Основные агрегатные функции:

• COUNT (колонка) — возвращает количество элементов в группе;
• SUM () — сумма по заданным значениям, только для числовых данных;
• avg () — среднее по заданным значениям в группе, только для числовых данных;
• MAX () — максимальное значение в группе, только для числовых данных и дат;
• MIN () — максимальное значение в группе, только для числовых данных и дат.

Примеры

Вывести наименование города (CITYNAME), сумму и среднее население (PEOPLES) в группах городов CITY.

Рисунок 88. Группировка CITY по CITYNAME, CITYCODE

Один самых часто используемых на практике примеров — подсчет количества элементов в группе.

Вывести количество авто (AUTO), сгруппированных по цвету (COLOR, то есть сколько синих, сколько красных…).

Рисунок 89. Группировка по цвету: запрос

Вывести максимальный и минимальный возраст (YEAROLD) людей из таблицы MAN, сгруппированных по имени.

Рисунок 90. Запрос: группировка по FIRSTNAME MAN

Вывести средний возраст (YEAROLD) людей (MAN) и количество человек в группе, сгруппированных по имени.

Рисунок 91. Таблица MAN: запрос группировки по FIRSTNAME

Вывести количество авто (AUTO) марки BMW, сгруппированных по цвету (COLOR, то есть сколько синих, сколько красных…).

Рисунок 92. Группировка по цвету: запрос к AUTO

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

Важное условие группировки: перечень колонок в запросе после команды SELECT должен входить в группировку GROUP BY или быть частью агрегатной функции.

Ошибочный запрос:

Правильный запрос:

Рисунок 93. Агрегатная функция COUNT: запрос к таблице MAN

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

Примеры

— результат 9.

Количество красных автомобилей (COLOR) в таблице AUTO:

— результат 2.

Количество людей (MAN), которым больше 27 лет (YEAROLD):

— результат 6.

Максимальный и минимальный возраст людей, которым больше 27 лет:

Рисунок 94. Агрегатные функции MIN, MAX: запрос к MAN

Максимальная и минимальная дата выпуска (RELEASEDT) машин BMW:

Рисунок 95. Агрегатные функции MIN, MAX: запрос к AUTO

Сумма населения (PEOPLES) во всех городах таблицы CITY:

Рисунок 96. Агрегатная функция SUM: запрос к CITY

Сумма возраста (YEAROLD) людей MAN, которым больше 30 лет:

Рисунок 97. Агрегатная функция SUM: запрос к MAN

Агрегатные функции и пустые значения

Особенно аккуратно необходимо относиться к наличию пустых значений (NULL) в ячейках таблицы при применении агрегатных функций.

Рассмотрим два запроса:

— результат 7.

— результат 9.

Так произошло, потому что агрегатная функция COUNT подсчитает количество элементов в заданной колонке без учета пустых значений в ячейках этой колонки, без учета NULL-значений.

Агрегатные функции SUM, MAX, MIN по пустым значениям NULL вернут нам пустое значение в качестве результата — NULL, но сумма, или максимальное, или минимальное значение будут правильными.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x