SQL задачи
10K subscribers
205 photos
161 links
SQL задачи для подготовки к собеседованию.

SQL тесты для проверки знаний.

№ 5635948084

SQL запросы к конкретной Базе данных с решением и разбором

По вопросам рекламы: @anothertechrock
Download Telegram
#Задача13:

Используй схему данных
отсюда
Тестовую БД и схему БД можно также скачать - ТУТ

Выведи товары заказа (таблицы purchase_item и purchase), которые проданы по цене из каталога (таблица product_price).

Выведи столбцы:

product_id - идентификатор товара;
store_id - идентификатор магазина;
price - цена.
Для определения идентификатора магазина для товара заказа, нужно присоединить таблицу purchase.

Решение завтра.
#задача
Решение к #Задача13:

SELECT
pi.product_id,
p.store_id,
pi.price
FROM purchase_item pi
JOIN purchase p
ON p.purchase_id = pi.purchase_id

INTERSECT

SELECT pp.product_id,
pp.store_id,
pp.price
FROM product_price pp

#задача
При помощи оператора UNION нельзя объединить результаты запросов:
Anonymous Quiz
10%
содержащих подзапросы
74%
с разным числом столбцов
8%
содержащих дубликаты
7%
если запросов больше трех
#Задача14:

Используй схему данных
отсюда
Тестовую БД и схему БД можно также скачать - ТУТ

Из таблицы заказов получи информацию:

count_total - общее количество заказов;
count_employee - количество заказов, которые оформили сотрудники магазина;
count_distinct_employee - количество сотрудников магазинов, когда-либо оформивших заказ.

Решение завтра.
#задача
Решение к #Задача14:

SELECT
count(*) AS count_total,
count(employee_id) AS count_employee,
count(DISTINCT employee_id) AS count_distinct_employee
FROM purchase

#задача
#Задача15:

Используй схему данных
отсюда
Тестовую БД и схему БД можно также скачать - ТУТ

Помоги сотрудникам найти повышение в должности, либо перейти на ту же должность, но в другой магазин.

Для каждого сотрудника получи информацию о должностях либо магазина, в котором работает сотрудник, либо должностях с таким же индентификатором должности в другом магазине. Выведи следующие столбцы:

last_name - фамилия сотрудника;
first_name - имя сотрудника;
store_id_employee - идентификатор магазина сотрудника;
store_id_rank - идентификатор магазина должности;
rank_id - идентификатор должности в магазине;
rank_name - название должности.

Отсортируй результат по

фамилии;
имени;
идентификатору магазина должности;
идентификатору должности.

Решение завтра.
#задача
Решение к #Задача15:

SELECT
e.last_name,
e.first_name,
e.store_id as store_id_employee,
r.store_id as store_id_rank,
r.rank_id,
r.name as rank_name
FROM employee e
JOIN ranks r
ON r.store_id = e.store_id
OR (r.rank_id = e.rank_id AND r.store_id != e.store_id)
ORDER BY e.last_name, e.first_name, r.store_id, r.rank_id

#задача
Выберите пример корректно написанного запроса с использованием подзапроса, который выводит информацию о заказе с самой дорогой стоимостью:
Anonymous Quiz
6%
select * from Orders where price = (select big(price) from Orders)
7%
select * from Orders where price = max
2%
select count(*) from Orders
85%
select * from Orders where price = (select max(price) from Orders)
Какой знак в запросах с использованием LIKE соответствует произвольному количеству символов в строке?
Anonymous Quiz
76%
%
1%
-
2%
|
1%
/
16%
*
4%
Посмотреть ответы
Задача 1

Напишите запрос, чтобы выбрать из этих таблиц всех продавцов (salesman) и клиентов (customer), находящихся в Лондоне.

#задача