Средние зарплаты по отделам

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

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

Введение

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

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

MariaDB [edusys]> SOURCE ~/project/singleTableQuery.sql
+------------+--------------+
| dept_name  | avg_salary   |
+------------+--------------+
| Physics    | 91000.000000 |
| Finance    | 85000.000000 |
| Elec. Eng. | 80000.000000 |
| Comp. Sci. | 77333.333333 |
| Biology    | 72000.000000 |
| History    | 61000.000000 |
| Music      | 40000.000000 |
+------------+--------------+
7 rows in set (0.001 sec)

🎯 Задачи

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

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

🏆 Достижения

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

  • Разобраться, как использовать SQL-клиauses SELECT, FROM, WHERE, GROUP BY и ORDER BY для проведения анализа данных
  • Реализовать SQL-запрос для вычисления и вывода средних зарплат по отделам в порядке убывания
  • Применить свои знания SQL для решения реальных задач анализа данных

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/order_by("ORDER BY clause") sql/DataManipulationandQueryingGroup -.-> sql/group_by("GROUP BY clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301284{{"Средние зарплаты по отделам"}} sql/select -.-> lab-301284{{"Средние зарплаты по отделам"}} sql/insert -.-> lab-301284{{"Средние зарплаты по отделам"}} mysql/select -.-> lab-301284{{"Средние зарплаты по отделам"}} mysql/source -.-> lab-301284{{"Средние зарплаты по отделам"}} sql/create_table -.-> lab-301284{{"Средние зарплаты по отделам"}} sql/order_by -.-> lab-301284{{"Средние зарплаты по отделам"}} sql/group_by -.-> lab-301284{{"Средние зарплаты по отделам"}} mysql/database -.-> lab-301284{{"Средние зарплаты по отделам"}} end

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

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

  1. Откройте терминал на вашей системе.

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

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

    mysql -uroot
  4. Импортируйте базу данных edusys.sql:

    SOURCE ~/project/edusys.sql

Написать SQL-запрос

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

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

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

    SELECT dept_name, AVG(salary) AS avg_salary
    FROM instructor
    GROUP BY dept_name
    ORDER BY avg_salary DESC;

    Этот запрос будет:

    • выбирать dept_name и среднюю зарплату (AVG(salary)) под именем avg_salary;
    • группировать результаты по dept_name;
    • упорядочивать результаты по avg_salary в порядке убывания.
  3. Сохраните файл singleTableQuery.sql.

Запустить SQL-запрос

В этом шаге вы запустите SQL-запрос, который вы создали на предыдущем шаге.

  1. В терминале MySQL выполните следующую команду для выполнения скрипта singleTableQuery.sql:

    SOURCE ~/project/singleTableQuery.sql
  2. Результаты запроса будут отображаться в терминале, показывая среднюю зарплату для каждого отдела в порядке убывания.

    +------------+--------------+
    | dept_name  | avg_salary   |
    +------------+--------------+
    | Physics    | 91000.000000 |
    | Finance    | 85000.000000 |
    | Elec. Eng. | 80000.000000 |
    | Comp. Sci. | 77333.333333 |
    | Biology    | 72000.000000 |
    | History    | 61000.000000 |
    | Music      | 40000.000000 |
    +------------+--------------+
    7 rows in set (0.001 sec)

Поздравляем! Вы успешно завершили проект, написав и запустив SQL-запрос для отображения средних зарплат по отделам в порядке убывания.

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

Резюме

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