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

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

№ 5635948084

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

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

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

#задача
Ответ к Задаче 18

SELECT salesman_id "ID", name, 'Salesman' FROM salesman WHERE city='London' UNION (SELECT customer_id "ID", cust_name, 'Customer' FROM customer WHERE city='London')

#задача
SQL задачи pinned Deleted message
Задача 19

Напишите запрос, чтобы найти продавцов и клиентов, которым они продали товар. Верните имя клиента, город, продавца и комиссонные.

#задача
Ответ к Задаче 19

SELECT a.cust_name AS "Customer Name", a.city, b.name AS "Salesman", b.commission FROM customer a INNER JOIN salesman b ON a.salesman_id=b.salesman_id;

#задача
Задача 20

Напишите запрос, чтобы найти клиентов, которые находятся в Нью-Йорке или имеют оценку не больше 100. Верните customer_id, cust_name, city, grade и salesman_id.

#задача
Ответ к Задаче 20

SELECT * FROM customer WHERE city = 'New York' OR NOT grade>100;

#задача
Задача 21

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

Верните salesman_id, name, order_no, строку highest on или lowest on (т.е. наибольшая или наименьшая сумма на [определенное число], ord_date. Отсортируйте результат по третьему полю, т.е. по номеру заказа.

#задача
Ответ к Задаче 21

SELECT a.salesman_id, name, ord_no, 'highest on', ord_date FROM salesman a, orders b WHERE a.salesman_id =b.salesman_id AND b.purch_amt= (SELECT MAX (purch_amt) FROM orders c WHERE c.ord_date = b.ord_date) UNION (SELECT a.salesman_id, name, ord_no, 'lowest on', ord_date FROM salesman a, orders b WHERE a.salesman_id =b.salesman_id AND b.purch_amt= (SELECT MIN (purch_amt) FROM orders c WHERE c.ord_date = b.ord_date)) ORDER BY 3

#задача
Задача 22

Напишите запрос, чтобы найти продавцов, получивших от компании больше 12% комиссионных. Верните имена (Customer Name) и города (city) клиентов, имена продавцов (Salesman) и их комиссионные (commission).

#задача
Ответ к задаче 22

SELECT a.cust_name AS "Customer Name", a.city, b.name AS "Salesman", b.commission FROM customer a INNER JOIN salesman b ON a.salesman_id=b.salesman_id WHERE b.commission>.12;

#задача
Задача 23

Напишите запрос, чтобы найти клиентов, которые не относятся к городу Нью-Йорк и при этом имеют оценку не больше 100. Верните customer_id, cust_name, city, grade и salesman_id.

#задача
Ответ к задаче 23

SELECT * FROM customer WHERE NOT (city = 'New York' OR grade>100);

#задача
Задача 24

Напишите запрос, чтобы вывести для каждого продавца имена его клиентов, живущих в том же городе, что и продавец. Если у продавца нет таких клиентов, вместо имени клиента вывести NO MATCH.

Верните salesman_id, name, cust_name, commission. Отсортируйте выборку по второму столбцу (т.е. имени продавца) в порядке убывания.

#задача