← К оглавлению занятия

🏠 Домашнее задание

⚡ Кратко: домашнее задание

  1. Выполните задания практикума в трёх базах: hr, world, Airlines.
  2. Подключитесь к учебному серверу через DBeaver.
  3. Проверьте результат с помощью COUNT(*) и визуально.

🏠 Задания практикума

1

Блок 1. База данных hr, таблица employees

  1. Найдите всех сотрудников, работающих в департаменте с id = 90.
  2. Найдите всех сотрудников, зарабатывающих больше 5000.
  3. Найдите всех сотрудников, чья фамилия начинается на букву L.
  4. Выведите зарплату сотрудника с именем Lex и фамилией De Haan.
  5. Сформируйте поле SALARY_GROUP: 1, если зарплата больше 10000, иначе 0.
  6. Найдите среднюю зарплату сотрудников с зарплатой меньше 10000.
2

Блок 2. База данных world

  1. Выведите список стран со столицами.
  2. Выведите список стран с языками, на которых в них говорят.
  3. Выведите список стран с официальными языками.
  4. Сравните количество записей в результате предыдущих запросов. В каком запросе больше строк?
3

Блок 3. База данных Airlines

  1. Выведите количество самолётов каждой модели.
  2. Выведите количество самолётов по странам.
  3. Выведите количество trips для каждого типа лайнера.
  4. Выведите id билетов, цену билета и среднюю стоимость билета.
  5. Выведите среднюю стоимость билета в каждом классе обслуживания (service_class).
  6. Выведите список поездок (trips) по убыванию количества билетов.
  7. Измените предыдущий запрос так, чтобы выводился ранг каждой поездки по количеству билетов.

🛠️ Подготовка окружения

  1. Откройте DBeaver или другой SQL-клиент.
  2. Подключитесь к учебной базе данных:
    • hostname: ich-db.edu.itcareerhub.de
    • username: ich1
    • password: password
  3. Убедитесь, что доступны базы hr, world и Airlines.
  4. Создайте новый SQL-скрипт и выбирайте нужную базу через выпадающий список или команду USE database_name.

📝 Пошаговое решение

1

Шаг 1. Подключение и выбор базы

Подключитесь к серверу и выберите базу hr. Например, в MySQL:

USE hr;
2

Шаг 2. Решите задачи блока hr

Пример первого запроса:

SELECT *
FROM employees
WHERE department_id = 90;

Остальные запросы блока составьте по аналогии, используя WHERE, LIKE, CASE и AVG.

3

Шаг 3. Переключитесь на базу world

USE world;

Выполните JOIN-запросы для стран, столиц и языков. Для сравнения количества записей используйте три отдельных запроса SELECT COUNT(*).

4

Шаг 4. Переключитесь на базу Airlines

USE Airlines;

Выполните группировки и агрегации. Для ранжирования рейсов используйте вложенный запрос или CTE с RANK() OVER.

✅ Проверка

  1. Запустите каждый запрос и убедитесь, что он выполняется без ошибок.
  2. Проверьте логику результатов: количество строк, значения агрегатов, порядок сортировки.
  3. Сравните свои решения с разбором в разделе Решения.