자료의 조회

  • 데이터베이스의 넓은 영역 중 주로 자료의 검색과 관련된 부분을 할 예정이다.
  • 자료검색을 위한 가장 기본적인 부분을 다루게 되며, 가장 주요한 부분이라도 말할 수 있다.


컬럼 ALIAS와 테이블 ALIAS

  • ALIAS란 단어 뜻 그대로 별명이다.
  • 컬럼 명이 길거나 테이블 명이 길어서 또는 다른 이유 때문에 테이블이나 컬럼에 다른 이름을 부여하여 사용 하는 것이 ALIAS이다.
  • ALIAS는 사용해서 편하기 때문에 사용하는 경우가 대부분이지만 반드시 사용을 해야만 하는 경우가 있다.

컬럼 ALIAS


SELECT EMP_ID SABUN, EMP_NAME AS NAME FROM TEMP;


  • EMP_ID의 ALIAS처럼 컬럼 이름 뒤에 한 칸 이상을 띄우고 ALIAS명을 주는 방법과 EMP_NAME처럼 컬럼 이름과 ALIAS 사이에 AS 라고 기술 하는 방법이 있다.


  • TEMP와 TDEPT 모두에 DEPT_CODE라는 컬럼이 있을 때는 다음과 같이 사용하면 ERROR가 난다.


SELECT EMP_ID,
	   DEPT_CODE,
	   DEPT_NAME
FROM TEMP,TDEPT WHERE TDEPT.DEPT_CODE = TEMP.DEPT_CODE ;


ORA-00918: 열의 정의가 애매합니다


  • 이런 이유 때문에 컬럼 앞에 테이블 명을 명시해야 한다.


SELECT EMP_ID,
	   TEMP.DEPT_CODE,
	   DEPT_NAME
FROM TEMP,TDEPT WHERE TDEPT.DEPT_CODE = TEMP.DEPT_CODE ;



  • 테이블 명이 조금만 길어도 컬럼 마다 테이블 명을 명시하는 것이 쉽지는 않다.


  • 이렇게 하면 어떨까?


SELECT A.EMP_ID,
	   A.DEPT_CODE,
	   B.DEPT_NAME
FROM TEMP A,
	 TDEPT B
WHERE A.DEPT_CODE = B.DEPT_CODE ;



  • 테이블에 ALIAS를 짧게 주고 ALIAS를 테이블 명 대신 쓰면 코딩량도 줄어들고 한눈에 알아보기도 쉬워 질 것이다.


  • 테이블 ALIAS 는 반드시 사용되어야만 하는 경우가 있다.나중에 다루게 될 셀프 조인(SELF JOIN) 이 그러한 경우이다. SELF 조인에서 자기 자신의 테이블과 조인 이 일어나는 경우에는 모든 컬럼이 중복되게 된다. 이때 컬럼 앞에 테이블 명을 명시해야 한다고 했는데, 셀프 조인(SELF JOIN)의 경우는 이마저도 같다.’ 이때는 편의의 목적이 아니라 어쩔 수 없이 ALIAS를 사용해야 한다. 컬럼 ALIAS 의 경우도 마찬가지로 반드시 ALIAS를 사용해야만 하는 경우가 생긴다. 역시 앞으로 다루게 되겠지만, ROWNUM 을 사용 하거나 TREE 구조의 전개시 LEVEL값 등을 사용하는 경우가 그렇다. 이러한 값들이 INLINE VIEW 안에서 사용되어 진 후 다시 이들을 FROM절로 사용하는 QUERY에서 ROWNUM 이나 LEVEL을 이용 하고자 한다면 반드시 COLUMN ALIAS를 사용해서 SQL을 작성 해야 한다.

  • 정확히 무슨 얘긴지 이해를 못 했더라도 걱정할 필요는 없다.

  • 자연스럽게 이해를 하게 될 것이다.

Leave a comment