Размах зарплат преподавателей по отделам.

SQLSQLBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь получать максимальную и минимальную зарплаты для каждого отдела в базе данных MySQL с использованием встроенных функций и SQL-запросов.

👀 Предварительный просмотр

MySQL [edusys]> SOURCE ~/project/functionQuery.sql;
+------------+------------+------------+
| dept_name  | max_salary | min_salary |
+------------+------------+------------+
| Biology    |   72000.00 |   72000.00 |
| Comp. Sci. |   92000.00 |   65000.00 |
| Elec. Eng. |   80000.00 |   80000.00 |
| Finance    |   90000.00 |   80000.00 |
| History    |   62000.00 |   60000.00 |
| Music      |   40000.00 |   40000.00 |
| Physics    |   95000.00 |   87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)

🎯 Задачи

В этом проекте вы научитесь:

  • Как запустить сервер MySQL и импортировать данные в базу данных
  • Как написать SQL-запрос для получения максимальной и минимальной зарплат для каждого отдела
  • Как выполнить SQL-запросный скрипт в клиенте командной строки MySQL

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться, как использовать встроенные функции MySQL, такие как MAX() и MIN(), для получения данных
  • писать SQL-запросы для группировки и агрегации данных по конкретным критериям
  • выполнять SQL-скрипты в клиенте командной строки MySQL
  • применять свои знания для решения реальных задач анализа данных

Запустить MySQL и импортировать данные

В этом шаге вы научитесь запускать сервер MySQL и импортировать данные из скрипта edusys.sql в базу данных MySQL.

  1. Запустите сервер MySQL:

    sudo /etc/init.d/mysql start
  2. Войдите в терминал MySQL:

    mysql -uroot
  3. Импортируйте данные из скрипта edusys.sql:

    SOURCE ~/project/edusys.sql

Написать запросный скрипт

В этом шаге вы научитесь писать запросный скрипт для получения максимальной и минимальной зарплат для каждого отдела в таблице instructor.

  1. Создайте новый файл с именем functionQuery.sql в директории ~/project.

  2. Откройте файл functionQuery.sql в текстовом редакторе и добавьте следующий SQL-запрос:

    SELECT
        dept_name AS 'dept_name',
        MAX(salary) AS'max_salary',
        MIN(salary) AS'min_salary'
    FROM
        instructor
    GROUP BY
        dept_name;

    Этот запрос использует функции MAX() и MIN() для получения максимальной и минимальной зарплат для каждого отдела, а также предложение GROUP BY для группировки результатов по отделам.

  3. Сохраните файл functionQuery.sql.

Выполнить запросный скрипт

В этом шаге вы научитесь выполнять скрипт functionQuery.sql в клиенте командной строки MySQL.

  1. В терминале MySQL выполните скрипт functionQuery.sql:

    SOURCE ~/project/functionQuery.sql
  2. Результаты запроса будут отображаться в терминале MySQL с следующими столбцами:

    • dept_name: название отдела
    • max_salary: максимальная зарплата в отделе
    • min_salary: минимальная зарплата в отделе

Вывод должен выглядеть примерно так:

+------------+------------+------------+
| dept_name  | max_salary | min_salary |
+------------+------------+------------+
| Biology    |   72000.00 |   72000.00 |
| Comp. Sci. |   92000.00 |   65000.00 |
| Elec. Eng. |   80000.00 |   80000.00 |
| Finance    |   90000.00 |   80000.00 |
| History    |   62000.00 |   60000.00 |
| Music      |   40000.00 |   40000.00 |
| Physics    |   95000.00 |   87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)

Это завершает проект. Вы успешно написали запросный скрипт для получения максимальной и минимальной зарплат для каждого отдела в таблице instructor.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.