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

MySQL 쿼리에서 열 나누기를 활용해 직원의 월급 계산하기

MySQL에서는 SELECT 쿼리 안에서 산술 연산자(/)를 사용해 열 값을 나눌 수 있습니다. 연봉이 저장된 열을 12로 나누면 해당 직원의 월급을 간단하게 계산할 수 있는데요. 아래 예제를 통해 실제 동작 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 직원 정보를 저장할 예제 테이블을 생성합니다.

mysql> create table DemoTable1957
    (
    EmployeeId int,
    EmployeeName varchar(20),
    EmployeeSalary int
    );
Query OK, 0 rows affected (0.00 sec)

2. 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 직원 레코드를 추가합니다. 이때 EmployeeSalary 열에는 연봉(연간 급여) 값이 저장됩니다.

mysql> insert into DemoTable1957 values(1,'Chris',240000);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1957 values(2,'Bob',120000);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1957 values(3,'David',180000);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1957 values(4,'Mike',650000);
Query OK, 1 row affected (0.00 sec)

3. 전체 데이터 조회하기

SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select * from DemoTable1957;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris        |         240000 |
|          2 | Bob          |         120000 |
|          3 | David        |         180000 |
|          4 | Mike         |         650000 |
+------------+--------------+----------------+
4 rows in set (0.00 sec)

4. 열 나누기로 월급 계산하기

직원의 월급을 구하려면 EmployeeSalary 열을 12로 나누고, AS 키워드를 사용해 결과 열의 별칭(alias)을 지정하면 됩니다.

mysql> select EmployeeName,EmployeeSalary/12 As MonthlySalary from DemoTable1957;

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

+--------------+---------------+
| EmployeeName | MonthlySalary |
+--------------+---------------+
| Chris        |    20000.0000 |
| Bob          |    10000.0000 |
| David        |    15000.0000 |
| Mike         |    54166.6667 |
+--------------+---------------+
4 rows in set (0.00 sec)

결과 분석 및 참고 사항

나눗셈 결과는 기본적으로 소수점 이하 4자리까지 표시됩니다. 예를 들어 Mike의 경우 650000 ÷ 12 = 54166.6667처럼 나누어떨어지지 않는 값도 정확하게 계산되는 것을 확인할 수 있습니다.

만약 소수점 없이 깔끔한 정수 형태로 월급을 표현하고 싶다면 ROUND() 또는 FLOOR() 함수를 함께 사용하면 됩니다.

mysql> select EmployeeName, ROUND(EmployeeSalary/12) As MonthlySalary from DemoTable1957;

이처럼 MySQL에서는 별도의 복잡한 함수 없이 산술 연산자만으로도 열 값을 가공해 원하는 데이터를 손쉽게 얻을 수 있습니다. 급여 외에도 재고 수량 나누기, 비율 계산 등 다양한 상황에서 같은 원리를 활용할 수 있으니 꼭 기억해 두세요.