10 прочтений · 1 год назад
🖥 Продвинутые темы SQL для дата-инженеров Дата-инженер контролирует и анализирует большие наборы данных. SQL — мощный инструмент выполнения запросов и манипулирования данными, и для создания эффективных решений здесь имеется немало продвинутых функциональных средств. Рассмотрим ряд важных для дата-инженеров тем SQL, иллюстрируя их примерами применения набора данных. Пример набора данных Имеется три таблицы: • product_table с данными различных продуктов — название, цена, категория; • category_table с данными о категориях продуктов; • order_table с данными о заказах: заказанный продукт, его количество, дата заказа. Вот схема каждой таблицы: product_table +----+----------------------+-------+-------------+ | id | Название | Цена | category_id | +----+----------------------+-------+-------------+ | 1 | iPhone 13 | 1000 | 2 | | 2 | Galaxy S21 | 800 | 2 | | 3 | Pixel 6 | 700 | 2 | | 4 | MacBook Air | 1000 | 4 | | 5 | Surface Pro 8 | 1200 | 4 | | 6 | iPad Pro | 800 | 3 | | 7 | iPad Mini | 400 | 9 | | 8 | Smart TV | 800 | 1 | | 9 | Home Theater System | 600 | 1 | | 10 | Galaxy S21 Ultra | 1400 | 2 | | 11 | iPhone 13 Pro Max | 1300 | 2 | | 12 | Pixel 6 Pro | 1000 | 2 | +----+----------------------+-------+-------------+ category_table +----+-------------+ | id | Название | +----+-------------+ | 1 | Электроника | | 2 | Телефоны | | 3 | Планшеты | | 4 | Ноутбуки | | 5 | Бытовая техника | | 6 | Одежда | | 7 | Спорттовары | | 8 | Игрушки | | 9 | Аксессуары | +----+-------------+ order_table +----+------------+-------------+------------+ | id | product_id | Количество | Дата | +----+------------+-------------+------------+ | 1 | 1 | 2 | 2022-03-28 | | 2 | 2 | 1 | 2022-03-28 | | 3 | 3 | 3 | 2022-03-29 | | 4 | 4 | 1 | 2022-03-30 | | 5 | 5 | 2 | 2022-03-31 | | 6 | 6 | 3 | 2022-03-31 | | 7 | 7 | 2 | 2022-03-31 | | 8 | 8 | 1 | 2022-03-31 | | 9 | 9 | 1 | 2022-03-31 | +--------------------------------------------+ Фильтрация данных Предложение WHERE — это важный SQL-функционал для фильтрования данных по конкретным условиям. WHERE, которым определяется условие включения данных в результаты, добавляется в конце оператора SELECT. Пример. Чтобы получить все продукты дороже 1000 $, применяем WHERE для их фильтрации по цене, в результаты включаются только продукты дороже 1000 $: SELECT * FROM product_table WHERE price > 1000; Возвращаемый результат: +----+---------------------+-------+-------------+ | id | Название | Цена | category_id | +----+---------------------+-------+-------------+ | 5 | Surface Pro 8 | 1200 | 4 | | 10 | Galaxy S21 Ultra | 1400 | 2 | | 11 | iPhone 13 Pro Max | 1300 | 2 | +----+---------------------+-------+-------------+ Объединения Чтобы иметь полную картину о данных нескольких таблиц, эти таблицы объединяют. Для этого в SQL имеются внутренние, левые, правые и полные внешние объединения. Пример. Чтобы получить список всех заказов и название заказанного продукта, с помощью объединения в SQL объединяем таблицы: в одной данные о заказе, в другой — о продукте: SELECT order_table.*, product_table.name FROM order_table INNER JOIN product_table ON order_table.product_id = product_table.id; 📌 Читать дальше
48 прочтений · 1 год назад
Продвинутые темы SQL для дата-инженеров
Источник: Nuances of Programming Дата-инженер контролирует и анализирует большие наборы данных. SQL  —  мощный инструмент выполнения запросов и манипулирования данными, и для создания эффективных решений здесь имеется немало продвинутых функциональных средств. Рассмотрим ряд важных для дата-инженеров тем SQL, иллюстрируя их примерами применения набора данных. Пример набора данных Имеется три таблицы: Вот схема каждой таблицы: product_table +----+----------------------+-------+-------------+ | id...