SQLite | 데이터 조회 | 컬럼 값에 사칙 연산의 결과 조회


데이터를 조회할 때 조회한 컬럼의 값에 곱셈을 수행하거나 컬럼과 컬럼의 값에 더한 결과를 받아올 수 있다. 여기에서는 컬럼의 값에 사칙 연산한 결과를 받아오는 방법에 대해 설명한다.

컬럼에 대한 사칙 연산

사칙 연산에 대한 연산자는 다음과 같이 준비되어 있다.

연산자 설명
a + b a에 b를 더하기
a - b a에서 b를 빼기
a * b a에 b를 곱하기
a / b a를 b로 나누기
a % b a를 b로 나눈 나머지

이러한 연산자는 SELECT 문에서 어떤 컬럼의 값을 조회할 때 다음과 같이 사용할 수 있다.

SELECT 컬럼명 연산자 값 FROM 테이블명;

예를 들어 데이터를 조회할 때 특정 컬럼의 값을 3배의 결과를 조회하고 싶다면 다음과 같이 잘성할 수 있다.

select id, sale * 3 from report;

이 경우 sale 컬럼의 값에 3을 곱한 값을 얻어올 수 있다.

또한 컬럼과 컬럼에 사칙 연산을 수행한 결과를 받아올 수 있다.

select id, price * count from report;

이 경우 price 컬럼의 값과 count 컬럼의 값을 곱한 값을 받아올 수 있다.

그러면 실제로 해보도록 하자. 다음과 같이 테이블을 만든다.

create table product (name text, num integer, price integer, discount integer);
sqlite> create table product (name text, num integer, price integer, discount integer);
sqlite> 

INSERT 문을 사용하여 테이블에 데이터를 추가한다.

insert into product values ('Mouse', 7, 2500, 0);
insert into product values ('NotePC', 2, 65000, 12000);
insert into product values ('Display', 4, 35000, 0);
insert into product values ('Printer', 5, 8000, 2000);
insert into product values ('Keyboard', 4, 10000, 0);
sqlite> insert into product values ('Mouse', 7, 2500, 0);
sqlite> insert into product values ('NotePC', 2, 65000, 12000);
sqlite> insert into product values ('Display', 4, 35000, 0);
sqlite> insert into product values ('Printer', 5, 8000, 2000);
sqlite> insert into product values ('Keyboard', 4, 10000, 0);
sqlite> 

여기서 사칙 연산을 사용하여 price 컬럼의 값에서 discount 컬럼 값을 뺀 결과를 구해본다.

select *, price - discount from product;
sqlite> select *, price - discount from product;
name        num         price       discount    price - discount
----------  ----------  ----------  ----------  ----------------
Mouse       7           2500        0           2500            
NotePC      2           65000       12000       53000           
Display     4           35000       0           35000           
Printer     5           8000        2000        6000            
Keyboard    4           10000       0           10000           
sqlite> 

이와 같이 컬럼 값에 사칙 연산을 수행한 결과를 받아올 수 있다.

앞의 예제를 보면 연산을 수행한 결과를 얻어온 그 결과의 컬럼 이름은 price - discount으로 되어 있다.

연산 결과의 컬럼에는 AS 절을 사용하여 다른 이름을 지정할 수 있다. AS 절 자세한 내용은 조회한 데이터의 컬럼에 별명 설정 (AS 절)를 참조한다. 그럼 실제로 해보도록 하자.

select *, price - discount as result from product;
sqlite> select *, price - discount as result from product;
name        num         price       discount    result    
----------  ----------  ----------  ----------  ----------
Mouse       7           2500        0           2500      
NotePC      2           65000       12000       53000     
Display     4           35000       0           35000     
Printer     5           8000        2000        6000      
Keyboard    4           10000       0           10000     
sqlite> 

price - discount으로 되어 있던 연산 결과의 컬럼명을 result으로 변경할 수 있었다.