[SQL] Alias(예명) 활용하기

6170 단어 sqlsql

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

좋은 웹페이지 즐겨찾기