| Курс профессиональной Power BI аналитики | |
| Курс SQL-анализа данных с нуля |
Файлы к уроку:
В этом уроке:
- Получить все таблицу целиком
- Отбор отдельных столбцов
- Получить уникальные значения
- Сортировка результата
- Фильтрация строк
- Операторы сравнения
- AND / OR
- BETWEEN
- IN
- LIKE / ILIKE
- NOT
- Закрепляем новые знания
Получить всю таблицу целиком
select *
from bike_sales
Выбрать отдельные столбцы
select
order_date,
customer_country,
profit
from bike_sales
Получить уникальные значения
-- Уникальные значения стран
select distinct customer_country
from bike_sales
-- Уникальные пары страна-штат
select distinct customer_country, customer_state
from bike_sales
Сортировка результата
-- Сортировка по возрастанию даты
select
order_date,
customer_country,
customer_state,
product_category,
product_subcategory,
product_name,
revenue,
profit
from bike_sales
order by order_date
-- Сначала выполняется сортировка по странам по алфавиту
-- Внутри страны сортировка по штатам по алфавиту
-- Внутри штата сортировка по датам по возрастанию
-- Внутри даты сортировка по revenue по убыванию
select
order_date,
customer_country,
customer_state,
product_category,
product_subcategory,
product_name,
revenue,
profit
from bike_sales
order by
customer_country,
customer_state,
order_date,
revenue desc
Фильтрация строк / WHERE
-- Продажи клиентам из Франции
select *
from bike_sales
where customer_country = 'France'
-- Продажи клиентам из Франции, Германии или Соединенного Королевства
select *
from bike_sales
where customer_country = 'France'
or customer_country = 'Germany'
or customer_country = 'United Kingdom'
-- Продажи велосипедов в США и Канаде
select *
from bike_sales
where (customer_country = 'United States'
or customer_country = 'Canada')
and product_category = 'Bikes'
-- Продажи определенных моделей велосипедов
select *
from bike_sales
where product_name in ('Mountain-100 Black',
'Road-150 Red',
'Touring-1000 Blue')
-- Все строки кроме тех, где название товара совпадает с любым, что в скобках
select *
from bike_sales
where product_name not in ('Mountain-100 Black',
'Mountain-100 Black',
'Road-150 Red',
'Touring-1000 Blue',
'Touring-1000 Yellow')
-- Продажи между 1 Января и 31 Марта
select *
from bike_sales
where order_date between '2011-01-01'
and '2011-03-31'
-- Строки, где в product_name входит подстрока "Silver"
select *
from bike_sales
where product_name like '%Silver%'
-- Строки, где в product_name входит подстрока,
-- которая начинается с на "1",
-- далее следуют 2 любых символа,
-- потом пробел,
-- а после пробела любые символы
select *
from bike_sales
where product_name like '%1__ %'
-- Выбрать строки с продажами аксессуаров
-- Название товара содержит подстроку "bike" в любом регистре
-- Сортировка по стране, штату, дате, подкатегории, названию и убыванию выручки
select *
from bike_sales
where 1 = 1
and product_category = 'Accessories'
and product_name ilike '%bike%'
order by
customer_country,
customer_state,
order_date,
product_subcategory,
product_name,
revenue desc
Закрепление
-- Страна США
-- Штаты Нью-Йорк и Техас
-- Категория Аксессуары
-- Товар в названии содержит подстроку "Mountain"
select *
from bike_sales
where 1 = 1
and customer_country = 'United States'
and customer_state in ('New York', 'Texas')
and product_category = 'Accessories'
and product_name like '%Mountain%'
-- Перечень велосипедов, которые хотя бы 1 раз были проданы в Канаде
-- За исключением велосипедов черного цвета
select distinct product_name
from bike_sales
where 1 = 1
and customer_country = 'Canada'
and product_category = 'Bikes'
and product_name not like '%Black%'
SQL Базовый
| Номер урока | Урок | Описание |
|---|---|---|
| 1 | SQL Базовый №1. Установка PostgreSQL, создание таблицы, импорт из CSV | Начинаем изучать SQL. Установим СУБД, создадим схему, таблицу и выполним импорт из CSV. |
| 1.1 | SQL Базовый №1.1. UI создание схемы, таблицы, импорт из CSV | Дополнение к уроку 1. Создадим схему, таблицу и выполним импорт данных из CSV с помощью пользовательского интерфейса. |
| 2 | SQL Базовый №2. Простые операции, SELECT | Научимся отбирать нужные нам столбцы и строки таблицы и делать сортировку. |
| 3 | SQL Базовый №3. Типы данных | Знакомство с основными типами данных в PostgreSQL: строковые, числовые, дата и время. |
| 4 | SQL Базовый №4. Импорт и экспорт данных | Научимся импортировать данные из CSV и экспортировать в CSV. |
| 5 | SQL Базовый №5. Группировка | Изучаем операцию группировки и основные агрегатные функции. |
| 6 | SQL Базовый №6. Математические операции | Сложение, вычитание, умножение, деление, остаток от деления, факториал, возведение в степень, корень. |
| 7 | SQL Базовый №7. CASE | CASE — это условный оператор, который позволяет осуществлять проверку и возвращать результат, который зависит от того, какое условие выполнено. |
| 8 | SQL Базовый №8. Дополнения к урокам 1-7 | Значение NULL, запросы к таблицам из других схем, рекомендации по форматированию кода, порядок выполнения операций в SQL. |
| 9 | SQL Базовый №9. Повторение изученного | Повторим все, что изучили в уроках 1-8. Спонсоры также смогут получить домашнее задание. |
| 10 | SQL Базовый №10. Подзапросы | Подзапросы нужны, когда для решения задачи нужно сделать несколько действий. Подзапросы внутри WHERE, FROM, SELECT, HAVING. |
| 11 | SQL Базовый №11. CTE | CTE также используются для решения задач в несколько этапов. |
| 12 | SQL Базовый №12. Оконные функции. Ранг, ранжирование (ranking) | Как посчитать ранг для всей таблицы или для конкретной категории. |
| 13 | SQL Базовый №13. Оконные функции. Агрегаты (SUM, AVG, MIN, MAX, COUNT) | Получить агрегированную итоговую сумму для категории. |
| 14 | SQL Базовый №14. Смещение | Приемы из этого урока позволяют получить значение из другой строки таблицы. |
| 15 | SQL Базовый №15. Оконные функции. Скользящие агрегаты | Научимся вычислять скользящее среднее и нарастающий итог. |
| 16 | SQL Базовый №16. Операция JOIN | Какие бывают виды объединения по горизонтали. Чем они отличаются друг от друга. Практика и домашнее задание. |
| 17 | SQL Базовый №17. Практика | Повторим все изученное в предыдущих уроках. Создадим схему, несколько таблиц и выполним несколько запросов на закрепление изученного материала. |
| 18 | SQL Базовый №18. Объединение по вертикали (UNION, UNION ALL, INTERSECT, EXCEPT) | Научимся объединять таблицы по вертикали. |
| 19 | SQL Базовый №19. Устройство на работу 1 | Тестовые задания при приеме на работу. |
| 20 | SQL Базовый №20. Сравнение с Excel, важные функции DBeaver | Важные функции DBeaver. Сравниваем SQL и Excel. |
| 21 | SQL Базовый №21. Устройство на работу 2 | Решим еще один тест при устройстве на работу. |
| 22 | SQL Базовый №22. Краткий обзор основных DDL и DML команд | Познакомимся с командами, которые позволяют создавать таблицы, наполнять их данными, редактировать, удалять и т. д. |
| 23 | SQL Базовый №23. Устройство на работу 3 | Еще одно тестовое задание по SQL при приеме на работу на позицию BI-аналитика. |