Introduction
계산 필드가 무엇이고, 어떻게 사용 하는지 알려 주는 장이다.
Content
0. 필드란 무엇인가?
필드란 열과 비슷한 의미인데, 차이가 있다면, 열(col)은 항상 존재한다면, 필드(field)는 경우에 따라 존재한다.
1. 계산 필드란 무엇인가?
계산 필드란 열(col)을 이용하여 계산된 새로운 필드를 뜻한다.
2. 이 계산 필드는 어떨때 사용 하는가?
응용프로그램에서 DB에 저장한 데이터를 바로 사용 할 수 없을 때 사용 한다. 또는 응용프로그램에서 데이터를 변형하기가 어렵거나, 변형시 부하가 많이 들기 떄문에 사용 한다.
3. 어떻게 계산 필드를 만들고, 사용 하는가?
계산 필드는 열과 열, 열과 문자를 결합하거나, 열 들에 수학적 계산으로 만들어 진다.
3-1 열과 열, 열과 문자를 결합하기
열과 열을 결합하면서, 열과 열 사이에 '(' ')' 문자를 넣어 주는 예제이다. 열을 결합 할 때는 '||' 기호를 사용 하나, 이는 postgreSQL 과 오라클 등이 사용하고, 다른 DB에서는 '+' 기호를 사용 할 수 있다.
이 SQL 절을 해석하면 vend_name (vend_country) 를 Vendors에서 선택하여 vend_name으로 올림차 정렬을 하겠다는 뜻이다. 실행 결과는 다음과 같다.
여기서 계산 필드란, ?column? 을 뜻한다.(사진참조) 한가지 팁을 추가하자면, 계산필드 이름은 정해주지 않아도 되나, 그 이름이 어떻게 될지는 모른다. 현재는 ?column?' 으로 되어 있다. 이는 응용프로그램 단계에서 필드에 접근할 이름을 알 수 없다는 것을 의미한다. 그러므로 계산 필드를 사용하며, 접근을 해야 한다면, 이름을 정해 주는게 좋다.
이름을 정해 주는 방법은 "별명(별칭)"을 지어 주는 것이다. 별명(별칭)은 AS 절을 추가 하여 지어 줄 수 있는데, 다음과 같다.
첫 줄에 AS vend_title 이라고 추가된 것을 볼 수 있는데, 계산 필드를 별명으로 vend_title로 지어 준 것이다. 이것에 대한 실행 결과는 다음과 같다.
이렇게 이름이 vend_title로 바뀐 것을 볼 수 있다. 이제 응용프로그램에서 이 이름을 참조하여 이 필드에 접근이 가능하게 된다.
여기서 팁!
별명 또는 별칭을 지어주는 이 행동은 다음과 같은 일이 있을 때 사용하면 용이하다. 원래 열 이름이 어렵거나, 잘못된 문자가 들어가 있을때, 필드에 이름이 없을 때, 열 이름이 너무 길 때 이다.
3-2 수학적으로 계산한 필드
계산 필드는 열과 열, 열과 문자를 결합하는 것 외로, 열에 더하기, 곱하기, 함수 호출 등을 하여, 수학적으로 계산한 필드로 만들어 질 수 있다.
이 SQL 절을 해석하면, prod_id, quantity, item_price, 계산필드 expanded_price를 OrderItems에서 order_num = 20008 이라는 조건을 만족하는 것들만 선택한다. ... 결과는 다음과 같다.
4번째 column 이 생겨 난것을 볼 수 있다. 알겠지만 이것은 계산 필드라고 불린다. SQL의 수학 연산자는 사칙연산이 있으며, 경우에 따라 함수를 붙여 주면 더 재미있는 기능을 쓸 수 있다.
Digression
피곤하다. 글이 이어지기 위해서 앞과 뒤를 만들어야 하는게 피곤하다.
'책 정리 > 하루 10분씩 핵심만 골라 마스터하는 SQL' 카테고리의 다른 글
12장, 테이블 조인 : INNER JOIN (0) | 2010.01.31 |
---|---|
11장, 하위 쿼리 사용 : 서브 쿼리 사용 : Sub Query, 두 쿼리의 결합 (719) | 2010.01.31 |
10장, 데이터 그룹화 : 테이터를 그룹화 한다는 것은 무슨 뜻인가? : GROUP BY (0) | 2010.01.30 |
9장, 데이터 요약 : 테이블을 요약하는 방법 : COUNT(*) (0) | 2010.01.30 |
8장, 데이터 조작 함수 사용하기 : SQL에서 함수를 이용하기 (0) | 2010.01.29 |
6장, 와일드카드를 사용한 필터링 : 문자열 패턴으로 필터링 하기 (0) | 2010.01.28 |
5장, 고급 데이터 필터링 : WHERE 조합법 (0) | 2010.01.28 |
4장, 데이터 필터링 : WHERE 사용 법 (0) | 2010.01.22 |
3장, 가져온 데이터 정렬하기 : ORDER BY 사용법 (359) | 2010.01.22 |
2장, 데이터 가져오기 : 가장 쉬운 SELECT 사용법 (0) | 2010.01.22 |
최근댓글