Telegram Web
Задача 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. Отсортируйте выборку по второму столбцу (т.е. имени продавца) в порядке убывания.

#задача
Ответ к Задаче 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 в порядке убывания. Верните все поля.

#задача
2025/07/13 08:17:05
Back to Top
HTML Embed Code: