Лабораторная работа № 9-10
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ,
ФАКУЛЬТЕТ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Лабораторная работа № 9-10 на тему «Создание запросов.» по дисциплине «Разработка и эксплуатация удаленных баз данных» Специальность "Программное обеспечение вычислительной техники и автоматизированных систем" (230105)
Санкт-Петербург 2011г.
1) Выбрать фамилии всех сотрудников, у которых зарплата больше 1500 mysql> select last_name, first_name, salary from employee where salary>1500;
42 rows in set (0.03 sec)
2) Выбрать покупателей в порядке убывания суммарной прибыли, которая на них получина mysql> select sum(total) as sum_prib, last_name as pokupateli from customer, sal es_order where customer.customer_id=sales_order.customer_id group by customer.cu stomer_id order by sum(total) desc;
50 rows in set (0.00 sec)
5) Для каждого города, в котором расположен отдел фирмы, выбрать количество покупателей, расположенных в том же городе
select count(customer.last_name) as kol_klientov, department.name as otdeli from location, department, employee, customer where location.location_id=department.location_id and department.department_id=employee.department_id and employee.employee_id= customer.salesperson_id group by department.location_id
3) Выбрать список рядовых сотрудников (не менеджеров) с указанием отдела и разности между зарплатой сотрудника и средней зарплатой рядовых сотрудников по отделу. а) Зарплата каждого сотрудника. select employee.salary from employee group by employee.last_name
50 rows in set (0.00 sec)
b) Средняя зарплата сотрудников(не менеджеров) по отделу. SELECT AVG(salary) as sr_zarplata, department_id FROM employee,job WHERE employee.job_id=job.job_id AND function<>'MANAGER' GROUP BY department_id
20 rows in set (0.00 sec) 4) Для каждого года выбрать тот месяц/месяцы, на который приходилось наибольшее число продаж. select max(total) as max_chislo_prodaj, year(order_date) as god from sales_order where month(order_date) group by year(order_date)
6) Определить штат, для которого средняя задержка между заключением сделки и поставкой товара является наибольшей SELECT (year(ship_date)-year(order_date)) as zadergka, state from sales_order, customer where customer. customer_id=sales_order.customer_id group by customer.state order by zadergka desc limit 1
7) определить продукты, которые не продовались до 1990г. select distinct description as produkt, year(ship_date) as god from item,product,sales_order where year(ship_date)>2005
Вывод: в ходе выполнения работы были получены практические навыки по выполнению запросов.
|