Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 가장 높은 급여 조회하기 – MAX() 함수 완벽 가이드

MySQL에서 테이블에 저장된 데이터 중 가장 높은 값(최댓값)을 조회하려면 집계 함수인 MAX()를 사용하면 됩니다. 이번 글에서는 직원 급여 테이블을 예로 들어, MAX() 함수를 활용해 최고 급여를 조회하는 방법을 단계별로 살펴보겠습니다.

MAX() 함수 기본 문법

MAX() 함수는 지정한 컬럼의 값들 중 가장 큰 값을 반환합니다. 기본 문법은 다음과 같습니다.

SELECT MAX(컬럼명) AS 별칭 FROM 테이블명;

AS 절을 사용해 별칭(alias)을 지정하면 결과 컬럼의 이름을 원하는 대로 표시할 수 있어 가독성이 좋아집니다.

예제 테이블 생성하기

먼저 실습에 사용할 직원 정보 테이블을 만들어 보겠습니다.

mysql> CREATE TABLE demo44
-> (
-> employee_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> employee_name VARCHAR(20),
-> employee_salary INT
-> );
Query OK, 0 rows affected (1.27 sec)

위 테이블은 직원 ID(employee_id), 이름(employee_name), 급여(employee_salary) 세 개의 컬럼으로 구성되어 있습니다. employee_id는 AUTO_INCREMENT 옵션 덕분에 레코드가 추가될 때마다 자동으로 1씩 증가합니다.

샘플 데이터 삽입하기

INSERT 명령어를 사용해 몇 개의 직원 레코드를 추가합니다.

mysql> INSERT INTO demo44(employee_name, employee_salary) VALUES('John', 3000);
Query OK, 1 row affected (0.13 sec)

mysql> INSERT INTO demo44(employee_name, employee_salary) VALUES('David', 4500);
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO demo44(employee_name, employee_salary) VALUES('Bob', 3500);
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO demo44(employee_name, employee_salary) VALUES('Carol', 5500);
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO demo44(employee_name, employee_salary) VALUES('Mike', 4900);
Query OK, 1 row affected (0.13 sec)

저장된 데이터 확인하기

SELECT 문으로 테이블에 저장된 전체 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM demo44;

실행 결과는 다음과 같습니다.

+-------------+---------------+-----------------+
| employee_id | employee_name | employee_salary |
+-------------+---------------+-----------------+
|           1 | John          |            3000 |
|           2 | David         |            4500 |
|           3 | Bob           |            3500 |
|           4 | Carol         |            5500 |
|           5 | Mike          |            4900 |
+-------------+---------------+-----------------+
5 rows in set (0.00 sec)

최고 급여 조회 쿼리 실행하기

이제 MAX() 함수를 사용해 가장 높은 급여를 조회하는 쿼리입니다.

mysql> SELECT MAX(employee_salary) AS Highest_Salary FROM demo44;

실행 결과는 다음과 같습니다.

+----------------+
| Highest_Salary |
+----------------+
|           5500 |
+----------------+
1 row in set (0.00 sec)

결과를 확인하면 최고 급여는 5500으로, Carol의 급여임을 알 수 있습니다.

추가 팁: 최고 급여를 받는 직원 정보까지 함께 조회하기

단순히 최고 급여 숫자만 아니라 해당 직원의 이름 등 상세 정보도 함께 알고 싶다면 서브쿼리를 활용할 수 있습니다.

SELECT * FROM demo44
WHERE employee_salary = (SELECT MAX(employee_salary) FROM demo44);

이 쿼리는 전체 급여 중 최댓값과 일치하는 행을 찾아 직원 ID, 이름, 급여를 모두 반환해 줍니다.

마무리

MySQL에서 최댓값을 구하는 것은 MAX() 함수 하나면 충분합니다. 반대로 최솟값이 필요하다면 MIN() 함수를 사용하면 되며, 평균은 AVG(), 합계는 SUM(), 레코드 개수는 COUNT() 함수를 활용하면 됩니다. 이러한 집계 함수들을 잘 익혀두면 데이터 분석 작업을 훨씬 효율적으로 처리할 수 있습니다.