Secret Poten

#17.SELECT 기초 &3 : Column Alias,연결연산자 본문

오라클 데이터베이스[11gR2](#1~

#17.SELECT 기초 &3 : Column Alias,연결연산자

potentail 2017. 12. 14. 12:30

이번 SELECT에 대한 포스팅은 연결연산자와 컬럼알리아스(Column Alias)에 대해 포스팅 해보도록 하겠습니다.

#16포스팅에서는 NULL값에 대해 조금 알아보았었는데요

크게 어렵게 생각하지마시고 NULL값은 사칙연산이 안된다! 그러므로 0과는 다른값이다! 라고 생각하시면 편합니다.


이번포스팅은 SELECT문을 사용해서 출력 결과를 좀 더 시각화 하는 방법에 대해 알아보도록 하겠습니다.



1. Column Alias란 무엇인가?

말그대로 Column Alias는 컬럼이름에 대해 별칭을 줄 수 있습니다.

물론 안써도 되는 거지만 사용 함으로써 출력 결과를 한번 봤을때 알아보기 쉽고

View를 사용했다면 Column의 이름을 감춰줌으로써 조금의 보안향상에도 도움이 될 수 있습니다.


sql plus에 로그인 할때는 실습용 계정인 scott으로 로그인 합니다.



위와같이 연봉을 구하기 위해 SAL이라는 값에 곱하기 12를 하였을때

컬럼명이 나오지 않고 펑션이름이나 사칙연산에 썻던 숫자들까지 그대로 포함하여 보여주게 됩니다.

한번에 봤을때 알아볼수 있다면 모르겠지만 이같은 경우에는 알아보기가 힘들기 때문에 별칭을 주어서 알아보기 쉽도록 할 수 있습니다.


별칭을 주는 방법으로는 SELECT 구문뒤에 오는 컬럼명 옆에 AS "별칭" 를 추가해주면 됩니다.



이런식으로 AS "별칭" 을 붙여주게 되면 해당 컬럼명이 바뀌게 됩니다.


Q.펑션이나 사칙연산이 안들어가도 과연 기본적인 컬럼명도 바꿀수 있는건가요...?

A.


가능합니다.

이런식으로 SELECT문을 사용할때 별칭을 주면 좀 더 한눈에 파악하기가 쉬워집니다.


원래는 별칭을 주는 방법도 3가지 정도가 있지만

AS "별칭" 을 사용하여 별칭을 붙여주는게 소스코드로 봤을때도 제일 깔끔하기 때문입니다.

대소문자 구문 및 띄어쓰기를 사용하여 별칭을 줄 수 있으므로 이방법만 알아도 충분하다고 생각합니다.


2. 연결연산자

이것은 컬럼과 컬럼을 이어주는 역할을 합니다.

만약 컬럼중에서 성(김씨,이씨 등등)이 있고 이름(길동,철수 등등)이 있을때

풀네임을 보고싶을때 성과 이름을 붙여서 써야하죠.

이럴때 연결연산자를 사용하여 붙여서 표현 할 수 있습니다.


연결연산자는 || 를 컬럼과 컬럼사이에 끼워주면 됩니다.

| 문자는 대부분 백스페이스키 옆쪽이나 엔터위 에 있는 \(원화 혹은 백슬래쉬키)를 쉬프트키를 누른채로 누르시면 됩니다.


바로 한번 확인해보죠.



empno와 ename을 연결연산자로 사용하였을때 사번과 이름이 같이 붙여져서 나옵니다.

연결연산자(||)는 컬럼과 컬럼말고도 중간에 문자열을 적을 수 도 있습니다.


문자열을 적을땐 중간에 작은따옴표( ' ' )를 이용하여 문자를 적습니다.



위처럼 연결연산자 사이에 작은따옴표를 사용하여 내용을 좀 더 추가 할 수 있습니다.

하지만 간단한 문장이라면 쉽게 가능해도 따옴표나 <>{}[] 등 다른 문자가 나오면 오류가 뜨는 경우도 있습니다.


그럴땐 q'[ 내용 ]' 로 문자열을 중간에 추가 할 수도 있습니다.


작은따옴표로 그냥 썻을때 와 q'[]' 연산자를 썻을때의 차이점입니다.


두개의 차이점이 확실히 보이시나요??

물론 작은따옴표만을 이용하여 출력이 가능합니다.

하지만 작은따옴표를 4개나 써야 하기때문에 소스코드의 가독성이 떨어집니다.



만약 짧게 문장을 추가하는것이 아니라면 q'[]'를 사용하여 쓰는게 소스코드를 읽기에도 쓰기에도 편합니다.

물론 개인성향에 따라 차이는 있을수 있습니다.

상황에 맞게 유동적으로 사용하시면 좋을듯 합니다.


마지막으로 이 두개를 활용하여 문제를 하나 풀어봅니다.


☆Quiz

ename과 sal을 이용하여 아래와 같이 결과가 출력되도록 소스코드를 작성 하여 보세요.

(한글이나 영어 둘중 아무거나 사용하여도 무방)


Message

-----------

사원xx 의 급여는 xx원 입니다.





(Youtube) Secret Poten : http://goo.gl/ENeBOR

(Youtube) Secret Poten AE : http://goo.gl/qasbWH


그외 궁금한점은

공지사항을 잘보시고 오픈채팅으로 물어봐주시면 감사하겠습니다

공지사항 바로가기


-HardWare SetUp-

CPU : Intel i7-6700k(OC)

RAM : Samsung DDR4 8GB X 4 (32GB)

HDD : Seagate 1TB X 3 (3TB HDD), Seagate 4TB =Total 7TB

SSD : SanDisk SSD 256GB

VGA : Asus GTX1080 8GB(OC)

MB : Asus Z170-A STCOM

Case : Thermaltake Core X9

PSU : Micronics Performance II HV 850W Bronze

ODD : LG BH16NS55 (Blu-ray ODD)

Other : PSIONIC Custom Water Cooler (CPU set), LED Cooler (EA 8), Scarlett 6i6, MXL990





Comments