손에 잡히는 10분 SQL 7장 참고
계산 필드가 필요한 경우
- 각자 다른 테이블에 있는 데이터를 하나의 열(필드)로 만들고 싶은 경우
- 합계, 평균, 열간의 덧셈/뺄셈 등 계산 값
이렇게 계산된 열들은 데이터베이스에 실제로 존재하는 필드는 아니다.
필드 연결하기
여러 값을 합쳐 한 개의 긴 값을 만드는 것
Oracle에서는 || (파이프 2개)를 사용해서 연결한다.
SELECT VEND_NAME || '(' || VEND_COUNTRY || ')', VEND_NAME, VEND_COUNTRY
FROM VENDORS
ORDER BY VEND_NAME;
- 다른 DBMS는 +나 CONCAT과 같은 함수를 사용해야 한다.
- 하지만 결과 사진과 같이 공백이 생겨있다. 대부분의 데이터베이스는 열 길이에 맞춰 텍스트를 저장하기 때문에 이를 잘라내야 한다
SELECT RTRIM(VEND_NAME) || '(' || RTRIM(VEND_COUNTRY) || ')', VEND_NAME, VEND_COUNTRY
FROM VENDORS
ORDER BY VEND_NAME;
- 이렇게 RTRIM 함수를 사용하면 공백을 제거할 수 있다.
- 또한 AS를 통해 별칭으로 계산 필드의 열 이름으로 만들 수 있다.
- 별칭을 파생열 이라고도 한다
- 별칭으로도 ORDER BY 에서 사용할 수 있다.
SELECT PROD_ID, QUANTITY, ITEM_PRICE,
QUANTITY * ITEM_PRICE AS EXPANDED_PRICE
FROM ORDERITEMS
WHERE ORDER_NUM = 20008;
- +, -, *, / 와 같은 연산자를 사용할 수 있다.
- 우선순위를 위한 괄호 또한 사용 가능하다
- 이렇게 만든 EXPANDED_PRICE는 클라이언트 프로그램에서도 사용 가능하다
'Database > SQL' 카테고리의 다른 글
[코테를 위한 Oracle 정리] 6. 그룹 함수를 사용해 데이터 요약하기 (0) | 2024.08.03 |
---|---|
[코테를 위한 Oracle 정리] 5. 데이터 조작 : 내장 함수 (0) | 2024.08.01 |
[코테를 위한 Oracle 정리] 3. 필터링 : WHERE (0) | 2024.07.29 |
[코테를 위한 Oracle 정리] 2. 정렬 : ORDER BY (0) | 2024.07.28 |
[코테를 위한 Oracle 정리] 1. Database 개념과 SELECT (0) | 2024.07.28 |