[SQL] Alias(예명) 활용하기
SQL 문을 작성할 때는 3가지 방법이 있다.
1. COLUMN의 소유 테이블을 표기하지 않음
SELECT 컬럼1, 컬럼2, 컬럼3
FROM 테이블
2. COLUMN의 소유 테이블을 표기함
SELECT 테이블1.컬럼1, 테이블2.컬럼2, 테이블3.컬럼3
FROM 테이블1, 테이블2, 테이블3
3. 별칭을 사용하여 COLUMN의 소유 테이블을 표기함
SELECT 별칭1.컬럼1, 별칭2.컬럼2, 별칭3.컬럼3
FROM 테이블1 별칭1, 테이블2 별칭2 , 테이블3 별칭3
혹은 AS를 활용하여 아래와 같이 표기할 수도 있다.
SELECT 별칭1.컬럼1, 별칭2.컬럼2, 별칭3.컬럼3
FROM 테이블1 AS 별칭1, 테이블2 AS 별칭2 , 테이블3 AS 별칭3
아래 쿼리 또한 별칭을 활용하여 쿼리를 표현한 예시이다.
SELECT
A.EMP_NO,
A.EMP_NM,
A.ADDR,
B.DEPT_NM
FROM TB_EMP A, TB_DEPT B
WHERE A.DEPT_CD = B.DEPT_CD
AND A.ADDR LIKE '%수원%'
ORDER BY A.EMP_NO;
유의할 점
1) 앨리아스는 현재의 SELECT 문에만 유의하다.
2) NATURAL 조인 컬럼은 앨리어스를 가질 수 없다.
3) USING 조인 컬럼은 앨리어스를 가질 수 없다.
-- NATURAL JOIN 안되는 예시
SELECT A.EMP_NO
, A.EMP_NM
, A.ADDR
, B.DEPT_NM
, B.DEPT_CD
FROM TB_EMP A NATURAL JOIN TB_DEPT B
WHERE A.ADDR LIKE '%수원%'
DEPT_CD 컬럼은 조인컬럼이므로 앨리어스를 통해 표기할 경우 SQL 에러가 발생한다.
--- USING 절 안되는 예시
SELECT A.EMP_NO
, A.EMP_NM
, A.ADDR
, B.DEPT_NM
, DEPT_CD
FROM TB_EMP A JOIN TB_DEPT B USING (B.DEPT_CD)
WHERE A.ADDR LIKE '%수원%'
마찬가지로 USING 절 조인 컬럼에도 앨리어스를 쓸 경우 오류가 발생한다.
참고 포스트
https://royzero.tistory.com/68
Author And Source
이 문제에 관하여([SQL] Alias(예명) 활용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@fancypenguin/SQL-Alias예명-활용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)