Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6 СЕМЕСТР / ЛР / ЛР6 / ЛР_№6_БД_2семестр_PostgreSQL

.pdf
Скачиваний:
12
Добавлен:
25.06.2023
Размер:
733.34 Кб
Скачать

Примечание: все результаты необходимо получить, используя исключительно язык запросов SQL, избегая при этом ручного поиска нужных значений в таблице (такое допустимо только в случае проверки полученного результата). Поскольку в таблице содержится около 50 записей, нужные данные вполне реально найти вручную, но что вы будете делать, если таблица насчитывает несколько миллионов строк?

Таблица 1 – Варианты заданий (работаем в группах по 2 человека, если список группы более 10 человек)

Варианты:

Формулировка запросов

 

 

1

- Вывести количество сотрудников в каждом отделе и отсортировать по убыванию

 

числа сотрудников.

 

- Найти сотрудника, работающего программистом (job_id = ‘IT_PROG’) и имеющего

 

самую высокую зарплату среди коллег.

 

 

2

- Найти сотрудника с именем John, имеющего зарплату больше 12000.

 

- Вывести название отдела с максимальным числом сотрудников.

 

 

3

- Найти средние зарплаты по каждому из отделов (можно ли как-то округлить

 

полученные значения?).

 

- Вывести названия должностей и количество сотрудников, соответствующих им.

 

Отсортировать данные по убыванию числа сотрудников.

 

 

4

- Найти сотрудника, который имеет зарплату равную минимальной зарплате по его

 

должности.

 

- Найти сотрудника с минимальной зарплатой среди всех сотрудников. Имя и

 

фамилию вывести в одной колонке, дать имя колонке «worker».

 

 

5

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

 

минимальной зарплатой по должности.

 

- Найти самое популярное имя (first_name).

 

 

6

- Найти сотрудника со второй по счёту минимальной зарплатой.

 

- Выяснить, сколько фондовых менеджеров (Stock_manager) работают в отделе

 

перевозок (Shipping).

 

 

7

- Найти количество сотрудников, в должности которых фигурирует слово

 

«Manager».

 

- Найти разницу между зарплатой начальников и средней зарплатой их

 

подчиненных.

 

 

 

11

8

 

- Выяснить, сотрудники какой профессии получают зарплату меньше 2500.

 

 

- Вывести сотрудников и их начальников (в одном столбце расположены

 

 

сотрудники, во втором – их начальники).

 

 

 

9

 

- Найти профессию, диапазон которой между минимальной и максимальной

 

 

зарплатой меньше, чем у остальных профессий.

 

 

- Вывести названия профессий(job_title) и среднюю зарплату (в диапазоне от 2000 до

 

 

5000) сотрудников этих профессий.

 

 

 

10

 

- Найти сотрудника, фамилия которого состоит более чем из одного слова.

 

 

- Найти минимальные зарплаты по отделам, но вывести только те, которые больше

 

 

10000.

 

 

 

 

«Бонусное» задание (требует смекалки, дополнительных знаний и поиска в

 

Интернет):

 

Необходимо найти количество менеджеров, менеджеров отделов и остальных

 

сотрудников. Должен получиться результат, представленный на рисунке 15.

Рисунок 15 – Результат «бонусного» запроса

12

Соседние файлы в папке ЛР6