걷기 시작한 Coding Novice

SQL

SQL 별칭 기능 (Alias)

Spell 2022. 5. 22. 22:58

쿼리가 점점 길어지면 헷갈리는 일이 자주 발생한다. 그래서 SQL은 Alias라는 별칭 기능을 지원한다.

 

select *
from orders
where course_title = '앱개발 종합반'

orders 테이블에서 '앱개발 종합반'만 보고 싶어서 where절을 이용하여 확인해보았다.

여기서 쿼리가 길어지게 되면 이 course_title이 어느 테이블의 필드인거지? 라는 의문과 동시에 헷갈릴 수 있다.

 

그럴 경우 다음과 같이 별칭을 정해줄 수 있다.

select *
from orders o
where o.course_title = '앱개발 종합반'

from orders 옆에 띄워쓰기 후 o라는 별칭을 입력했다.

"그러면 앞으로 orders를 o라고도 부르겠다" 라는 말이 된다.

그리고 아래 where절에는 o.course_title이라고 적어줘서 어느 테이블의 course_title인지 구분이 쉽게 작성할 수 있다.

 

이 별칭은 어느 알파벳으로도 가능하지만(예를들어 a나 ab등도 가능하다), 보통 알파벳 한 글자 아니면 두 글자로 굉장히 짧게 쓴다. 물론 별칭을 정할 때 해당 테이블이 연상될 수 있도록 정해주는게 좋다.

 

조금 더 구체적으로 쿼리를 지시내릴 수 있는 것이다.

 

여기서 또 다른 별칭을 줄 수 있다.

만약 payment_method로 묶어주고 payment_method당 카운터가 몇 개인지 보기로 결정했다.

select payment_method, count(*)
from orders o
where o.course_title = '앱개발 종합반'
group by payment_method

해당 그림처럼 결과가 나오는데, count(*)이라는 이름으로 결과가 나온다. 이를 보기가 안 좋으면 'as'를 사용하여 별칭을 정할 수 있다.

 

as를 활용하여 cnt라는 별칭을 사용한다면, 다음과 같다.

select payment_method, count(*) as cnt
from orders o
where o.course_title = '앱개발 종합반'
group by payment_method