MySQL 데이터 분석

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 MySQL 의 내장 함수를 사용하여 인사 데이터베이스의 직원 테이블 (emp) 에서 관련 정보를 검색하는 방법을 배우게 됩니다. 관계형 데이터베이스에서 데이터를 액세스하고 조작하기 위한 SQL 쿼리를 작성하는 연습을 할 것입니다.

👀 미리보기

MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다:

  • 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 액세스하는 방법
  • SQL 파일을 MySQL 데이터베이스로 가져오는 방법
  • 평균 급여가 2000 이상인 부서의 부서 번호, 최대 급여, 최소 급여 및 평균 급여를 검색하고 부서 번호의 내림차순으로 결과를 정렬하는 SQL 쿼리를 작성하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 복잡한 데이터 분석을 수행하기 위해 MySQL 의 내장 함수를 사용하는 방법을 이해합니다.
  • 관계형 데이터베이스에서 데이터를 검색하고 조작하는 SQL 쿼리를 작성합니다.
  • SQL 지식을 실제 데이터 관리 문제 해결에 적용합니다.

MySQL 접속 및 데이터 가져오기

이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접속하고 /home/labex/project/personnel.sql에서 MySQL 로 데이터를 가져오는 방법을 배우게 됩니다.

  1. MySQL 서비스를 시작합니다:
sudo service mysql start
  1. sudo 명령을 사용하여 MySQL 에 접속합니다:
sudo mysql
  1. /home/labex/project/personnel.sql에서 MySQL 로 데이터를 가져오고 personnel 데이터베이스로 전환합니다:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
✨ 솔루션 확인 및 연습

SQL 쿼리 작성

이 단계에서는 personnel 데이터베이스의 emp 테이블에서 관련 정보를 검색하는 SQL 쿼리를 작성하는 방법을 배우게 됩니다.

  1. multiple_line_function.sql 파일을 엽니다.
  2. 다음 SQL 쿼리를 파일에 추가합니다:
SELECT deptno AS 'department_id', MAX(sal) AS 'max_salary', MIN(sal) AS 'min_salary', AVG(sal) AS 'avg_salary'
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000
ORDER BY deptno DESC;

이 쿼리는 평균 급여가 2000 이상인 부서의 부서 번호, 최대 급여, 최소 급여 및 평균 급여를 검색하고 부서 번호의 내림차순으로 결과를 정렬합니다.

✨ 솔루션 확인 및 연습

SQL 쿼리 실행

이 단계에서는 이전 단계에서 작성한 SQL 쿼리를 실행하는 방법을 배우게 됩니다.

  1. MySQL 프롬프트를 엽니다:
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;

이렇게 하면 SQL 쿼리가 실행되고 MySQL 프롬프트에 결과가 표시됩니다.

출력은 다음과 유사해야 합니다:

+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)

축하합니다! 프로젝트를 성공적으로 완료했습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.