SQL
1. CRM
Вставить одной командой трёх клиентов из таблицы ниже, с явным перечислением колонок; дату регистрации проставить текущей.
Поля результата
client_id, name, email, city, created_at
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
clients
| Поле | Комментарий |
|---|---|
client_id | идентификатор |
name | ФИО |
email | почта |
city | город |
created_at | дата создания |
Вставить эти 3 строки (created_at - текущей датой):
| client_id | name | city | |
|---|---|---|---|
| 1 | Иванов И. | ivanov@mail.ru | Москва |
| 2 | Петров П. | petrov@mail.ru | Казань |
| 3 | Сидорова А. | sidorova@mail.ru | Новосибирск |
SQL
2. DWH - витрина
Наполнить пустую витрину client_summary из orders: сгруппировать по client_id, записать количество заказов, их сумму и дату последнего. Одной командой, без временных таблиц.
Поля результата
client_id, orders_cnt, total_amount, last_order_date
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
orders
| Поле | Комментарий |
|---|---|
order_id | заказ |
client_id | клиент |
order_date | дата |
amount | сумма |
client_summary (приёмник, пустая)
| Поле | Комментарий |
|---|---|
client_id | клиент |
orders_cnt | кол-во заказов |
total_amount | сумма |
last_order_date | дата последнего |
SQL
3. Интернет-магазин - чистка заказов
Перевести все заказы старше 90 дней со статусом new в статус cancelled.
Поля результата
order_id, status, order_date
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
orders
| Поле | Комментарий |
|---|---|
order_id | заказ |
status | статус |
order_date | дата заказа |
SQL
4. Программа лояльности
В таблице clients поле total_spent заполнено неверно: где-то нули, где-то устаревшие значения. Пересчитать его одной командой UPDATE: каждому клиенту записать в total_spent сумму amount всех его заказов из таблицы orders. Текущее значение не учитывать - его нужно заменить, а не прибавить к нему. Клиентам без заказов проставить 0.
Поля результата
client_id, name, total_spent
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
clients
| Поле | Комментарий |
|---|---|
client_id | клиент |
name | имя |
total_spent | сумма покупок |
orders
| Поле | Комментарий |
|---|---|
order_id | заказ |
client_id | клиент |
amount | сумма |
SQL
5. Медстрахование - дубли пациентов
Удалить дубликаты, оставив по каждому policy_no одну запись - с максимальным updated_at. Даты updated_at в рамках одного пациента (policy_no) не повторяются.
Поля результата
patient_id, policy_no, full_name, updated_at
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
patients
| Поле | Комментарий |
|---|---|
patient_id | идентификатор |
policy_no | номер полиса |
full_name | ФИО |
updated_at | дата обновления |
SQL
6. ETL - загрузка курсов валют
Загрузить пачку курсов из таблицы ниже идемпотентно - при конфликте по ключу перезаписать курс новым значением.
Поля результата
currency, rate_date, rate
Список таблиц
Ваш запрос
Результат вашего запроса
Исходные таблицы
rates
| Поле | Комментарий |
|---|---|
currency | валюта, часть PK |
rate_date | дата, часть PK |
rate | курс |
Загрузить эту пачку:
| currency | rate_date | rate |
|---|---|---|
| USD | 2024-05-01 | 91.20 |
| EUR | 2024-05-01 | 98.50 |