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으로 변경할 수 있었다.
최종 수정 : 2019-11-13