В современных информационных технологиях знание языка SQL стало уже неотъемлемым профессиональным навыком каждого специалиста, так как при помощи SQL можно эффективно управлять информацией в базе данных.
Из книги вы узнаете:
Получить книгу можно бесплатно.
Получить книгуОсновные концепции, формирующие теоретическую базу.
Заметки, которые помогут читателю лучше понять материал.
Тестовые данные для выполнения практических примеров.
Применение теоретических знаний на практике.
Разбор SQL-кода сложных синтаксических конструкций.
Список дополнительных материалов для дальнейшего изучения.
Формат книги
Год выпуска
Количество страниц
Количество разделов
Книга распространяется на бесплатной основе, поэтому вы можете загрузить её прямо сейчас нажав на кнопку «Загрузить» или можете перейти в репозиторий на сайте GitHub и загрузить книгу с сервиса.
Если вам понравится книга и вы найдёте её полезной и познавательной, хочу попросить вас оставить свой отзыв на странице книги или ВКонтакте.
ЗагрузитьГруппировка данных (GROUP BY)
Оператор GROUP BY используется в SQL-запросе тогда, когда необходимо выполнить группировку данных по одному или нескольким столбцам. Группировка данных позволяет выполнить подсчёт строк, общую сумму, вычислять максимальное, минимальное и среднее значение, при этом не извлекая все данные из таблицы.
Когда используется оператор GROUP BY, то строки, которые возвращаются в результирующем наборе называются - группами, так как одна группа объединяет несколько строк, которые объединены по каким-то признакам.
Синтаксис:
Список столбцов в блоках SELECT и GROUP BY должен быть одинаковый, иначе будет получена ошибка. В исключение входят агрегатные функции, их не нужно указывать в блоке GROUP BY.
Сложные группировки
Ранее был изучен оператор GROUP BY, он позволяет группировать данные по одному или нескольким столбцам, но как бы не был хорош GROUP BY, он не умеет выполнять операции агрегации на множественном уровне иерархии. Другими словами, мы можем получить агрегатные значения для полученных групп, но не можем получить общее агрегатное значение для этих групп.
Для решения таких задач используют операторы ROLLUP и CUBE, они очень похожи, но имеют одно колоссальное различие. Оператор ROLLUP генерирует агрегатные значения для выбранных столбцов иерархическим образом, а оператор CUBE, наоборот, выполняет генерацию агрегатных значений, которые содержат все возможные комбинации указанных столбцов.
Также существует дополнительный оператор GROUPING SETS. Это расширение оператора GROUP BY, которое используется для одновременного создания нескольких наборов группировки данных.
Оператор ROLLUP
Оператор ROLLUP позволяет вычислить подитоги и общий итог для множества указанных столбцов. То есть при помощи оператора ROLLUP мы можем подсчитать общее агрегатное значение для полученных групп.
Объединение таблиц (JOIN)
Это один из основных механизмов, который позволяет выполнять объединение таблиц на лету и получать необходимые данные. Объединение таблиц — это самые мощные операции, которые можно выполнить при помощи оператора SELECT, поэтому каждый разработчик, аналитик или администратор базы данных должен понимать, как работает этот механизм.
Объединение таблиц нужно в том случае, когда данные хранятся в разных таблицах, а вам необходимо связать эти данные между собой и вывести в одном запросе.
Существует несколько видов объединений таблиц:
Что такое оконные функции?
Оконные функции — это очень мощный инструмент, с помощью которого можно решать большое количество задач, благодаря тому что их можно применять в таких блоках, как: SELECT, WHERE, GROUP BY, HAVING или ORDER BY
Оконные функции позволяют выполнить ряд вычислений над определенным набором строк, которые объединены по какому-то конкретному признаку или признакам, как например: идентификатор клиента. Сразу можно предположить, что оконные функции выполняют такие же функции, как и GROUP BY, но нет, это не так.
Оконные функции значительно отличаются от GROUP BY и выполняют совершенно другие функции. Чтобы понять, чем же всё-таки отличаются оконные функции от GROUP BY давайте посмотрим несколько отличий:
После того, как мы немного разобрались с отличием оконных функций от GROUP BY, у вас может возникнуть закономерный вопрос «Что значит оконные?».
Что такое представления?
Представления (VIEW) — это виртуальные таблицы, которые чаще всего называют вьюшками. В отличие от таблиц, которые хранят данные, представления хранят только SQL-запросы для динамического извлечения данных по мере надобности. Другими словами, когда происходит обращение к представлению, то сначала выполняется код, который хранится в этом представлении, а затем выводится результирующий набор данных.
Чтобы грамотно использовать представления, вы должны понимать и знать структуру таблиц, из которых происходит выборка данных.
Основные причины для применения представлений (VIEW):
PostgreSQL
Объектно-реляционная система управления базами данных (СУБД), которая предоставляет мощные функции для хранения и обработки данных.
DBeaver
Бесплатная и универсальная программа для работы с базами данных, которая поддерживает подключение к PostgreSQL с помощью драйвера JDBC.
Google Chrome
Бесплатное программное обеспечение для просмотра страниц и содержания веб-документов на основе браузера Chromium от компании Google.
Книга распространяется только в формате PDF (Portable Document Format), так как это самый популярный и распространённый формат.
На данный момент печатного варианта нет, книга доступна только в электронном формате.
Книга будет доступна сразу же после того, как вы загрузите её на своё устройство.
Вам потребуется установить СУБД - PostgreSQL, и редактор кода - DBeaver. Если у вас нет возможности установить программное обеспечение, можно использовать облачный сервис - SQLiteOnline.com.
Синтетические данные есть в книге, но вы можете загрузить их отдельным файлом из репозитория с GitHub.
Вы можете использовать такие программы, как: Adobe Acrobat Reader, Foxit Reader, PDF Reader и т.д.