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

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

№ 5635948084

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

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

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

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

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

SELECT salesman.salesman_id, name, cust_name, commission FROM salesman, customer WHERE salesman.city = customer.city UNION (SELECT salesman_id, name, 'NO MATCH', commission FROM salesman WHERE NOT city = ANY (SELECT city FROM customer)) ORDER BY 2 DESC

#задача
Задача 25

Напишите запрос, чтобы найти клиентов с оценкой 200. Верните customer_id, cust_name, city, grade, salesman_id.

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

SELECT * FROM customer WHERE grade=200;

#задача
Задача 26

Напишите запрос, чтобы получить данные о клиентах с ID 3007, 3008 и 3009. Верните customer_id, cust_name, city, grade и salesman_id.

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

SELECT * FROM customer WHERE customer_id IN (3007, 3008, 3009);

#задача
Задача 27

Напишите запрос, возвращающий число клиентов.

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

SELECT COUNT(*) FROM customer;

#задача
Задача 28

Напишите запрос, чтобы выбрать все заказы. Отсортируйте выборку по ord_date в порядке убывания. Верните все поля.

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

SELECT * FROM orders ORDER BY ord_date DESC;

#задача
Задача 29

Напишите запрос, чтобы найти все заказы, созданные продавцами из Лондона. Верните ord_no, purch_amt, ord_date, customer_id, salesman_id.

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

SELECT * FROM orders WHERE salesman_id IN (SELECT salesman_id FROM salesman WHERE city='London');

#задача
Задача 30

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

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

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

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))

#задача
Задача 31

Напишите запрос, чтобы найти актеров, сыгравших в фильме "Annie Hall". Верните все поля из таблицы actor.

#задача