MySQL에서는 SELECT 문을 활용하면 실제 테이블 구조를 변경하지 않고도 기존 두 열의 데이터를 조합한 새 열을 손쉽게 만들어 출력할 수 있습니다. 이번 글에서는 가격(Price)과 수량(Quantity) 열의 값을 곱해 총액(TotalAmount) 열을 생성하는 방법을 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다. Price(가격)와 Quantity(수량) 두 개의 열을 가진 간단한 테이블입니다.
mysql> create table DemoTable
(
Price int,
Quantity int
);
Query OK, 0 rows affected (0.71 sec)2. 샘플 데이터 삽입하기
INSERT 명령을 사용하여 테이블에 테스트용 레코드를 몇 개 추가합니다.
mysql> insert into DemoTable values(45,3); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(90,2); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values(440,1); Query OK, 1 row affected (0.09 sec)
3. 데이터 확인하기
SELECT 문으로 테이블에 저장된 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-------+----------+ | Price | Quantity | +-------+----------+ | 45 | 3 | | 90 | 2 | | 440 | 1 | +-------+----------+ 3 rows in set (0.00 sec)
4. 두 열의 데이터로 새 열 만들기
이제 기존 두 열의 데이터를 조합하여 새 열을 추가하는 핵심 쿼리입니다. 여기서는 TotalAmount라는 새 열을 만들고, 그 값은 Price와 Quantity 두 열 값의 곱셈 결과로 채웁니다. 별칭(Alias)인 AS 키워드를 사용하면 계산된 결과에 원하는 열 이름을 지정할 수 있습니다.
mysql> select Price,Quantity, Price*Quantity AS TotalAmount from DemoTable;
위 쿼리를 실행하면 다음과 같이 TotalAmount 열이 함께 출력됩니다.
+-------+----------+-------------+ | Price | Quantity | TotalAmount | +-------+----------+-------------+ | 45 | 3 | 135 | | 90 | 2 | 180 | | 440 | 1 | 440 | +-------+----------+-------------+ 3 rows in set (0.00 sec)
참고 사항
위 방식은 쿼리 실행 시점에 계산된 값을 임시로 보여주는 방법입니다. 만약 새 열을 테이블에 영구적으로 추가하고 싶다면 ALTER TABLE 명령으로 열을 먼저 추가한 뒤, UPDATE 문을 사용해 해당 열의 값을 채워야 합니다. 반면 조회 시마다 최신 데이터를 기준으로 계산된 값이 필요하다면 위와 같은 SELECT 문 방식이 더 효율적입니다.