부서별 평균 급여 계산

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 데이터베이스에서 각 부서의 평균 급여를 계산하고 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 의 SELECT, FROM, WHERE, GROUP BY, 및 ORDER BY 절을 사용하는 방법을 이해합니다.
  • 부서별 평균 급여를 계산하고 내림차순으로 표시하는 SQL 쿼리를 구현합니다.
  • 실제 데이터 분석 문제를 해결하기 위해 SQL 지식을 적용합니다.

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. 텍스트 편집기를 열고 ~/project 디렉토리에 singleTableQuery.sql이라는 새 파일을 만듭니다.

  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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.