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

MySQL SELECT INTO로 사용자 정의 변수에 값 저장하기

MySQL SELECT INTO 사용자 정의 변수란?

MySQL에서는 SELECT ... INTO 구문을 활용해 쿼리 결과를 사용자 정의 변수(@변수)에 직접 저장할 수 있습니다. 이 방법을 사용하면 집계 함수의 결과나 특정 컬럼 값을 별도의 변수에 담아두었다가 이후 쿼리에서 재사용할 수 있어 매우 유용합니다.

이번 글에서는 예제 테이블을 만들고, SELECT INTO를 사용해 급여 합계를 사용자 정의 변수에 저장하는 과정을 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable1483
-> (
-> Salary int
-> );
Query OK, 0 rows affected (0.41 sec)

2단계: 데이터 삽입

INSERT 명령어를 사용해 테이블에 샘플 레코드를 추가합니다.

mysql> insert into DemoTable1483 values(100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1483 values(500);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1483 values(400);
Query OK, 1 row affected (0.12 sec)

3단계: 전체 레코드 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable1483;

위 쿼리는 다음과 같은 결과를 출력합니다.

+--------+
| Salary |
+--------+
| 100 |
| 500 |
| 400 |
+--------+
3 rows in set (0.00 sec)

4단계: SELECT INTO로 사용자 정의 변수에 값 저장

다음은 SELECT INTO를 사용해 급여 합계를 사용자 정의 변수 @TotalSalary에 저장하는 쿼리입니다.

mysql> select sum(Salary) into @TotalSalary from DemoTable1483;
Query OK, 1 row affected (0.00 sec)

5단계: 변수 값 확인

저장된 변수의 값을 조회해 보겠습니다.

mysql> select @TotalSalary;

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

+--------------+
| @TotalSalary |
+--------------+
| 1000 |
+--------------+
1 row in set (0.00 sec)

정리

이처럼 MySQL의 SELECT ... INTO @변수 구문을 사용하면 쿼리 결과를 간편하게 변수에 저장할 수 있습니다. 위 예제에서는 세 개의 급여(100, 500, 400)의 합계인 1000@TotalSalary 변수에 정상적으로 저장된 것을 확인할 수 있습니다. 이 기능은 스토어드 프로시저나 복잡한 쿼리 로직을 작성할 때 중간 계산 결과를 보관하는 용도로 자주 활용됩니다.