계산 필드란
테이블에 저장된 데이터를 그대로 사용하지 않고 가공하여 제공하는 열이다.
테이블에 저장된대로 데이터를 가져와 클라이언트에서 가공해도 되지만, 데이터베이스가 훨씬 빠르게 처리한다.
ex) SELECT vend_name || '(' || vend_country || ')';
별칭(alias) 사용하기
클라이언트에서는 계산 필드를 그대로 사용할 수 없다. - 열의 이름이 없기 때문에
계산 필드 뒤에 AS name 을 통해 name 으로 열의 이름을 지정하여 사용할 수 있다.
많은 DBMS 에서 AS 를 생략하고 바로 name 을 정의해주어도 되나, 가독성을 위해 사용하면 좋다.
계산 필드의 열 이름을 지정하는 것 이외에도 테이블의 열 이름에 허용되지 않는 문자가 들어가거나, 모호한 이름을 사용중이라면 바꾸어줄 수 있다.
'' 문자열을 통해 여러 단어로 별칭을 지정할 수도 있으나, 클라이언트 프로그램에서 문제가 될 소지가 많아 한 개의 단어로 많이 사용한다. -> 여러 단어로 된 테이블 명도 하나의 단어로 바꾸는 데 AS 를 사용하기도 한다.
별칭은 파생열(derived column) 과 같은 의미로 사용된다.
도전 과제
Vendors 테이블에서 vend_id, vend_name, vend_address, vend_city 를 가져와 각각의 필드를 vname, vaddress, vcity 로 이름을 바꾸고 결과를 판매처명으로 정렬하여 출력하라.
SELECT vend_id, vend_name AS vname, vend_address AS vaddress, vend_city AS vcity FROM Vendors ORDER BY vname;
10% 할인 행사를 진행중인 상황을 가정해보자. Products 테이블에서 prod_id, prod_price, sale_price(실제 판매될 가격) 를 출력하라.
SELECT prod_id, prod_price, prod_price * 0.9 AS sale_price FROM Products;
tip.
문자의 공백은 대부분의 DBMS에서 TRIM(), RTRIM(), LTRIM() 과 같은 함수를 통해 제거할 수 있다.
SELECT 문을 FROM 없이 사용해서 SELECT 3 * 2; , SELECT current_date + 3; 등 여러 문법을 테스트해볼 수 있다.