[Oracle]Oracle 별칭(AS)를 조건으로 조회하기
개발을 하다보면 테이블과 VO의 이름이 동일하지 않거나
다수의 테이블을 하나의 Row로 출력해야할때 테이블 컬럼명만 다르고 데이터의 사용성이같을떄
AS로 컬럼명을 별칭을 정하고 출력하게된다
예를들어
analog_book은 종이로된 책이고
digital_book은 전자책일때
컬럼명이 다르지만 동일하게 보이려면 AS로 컬럼명을 변경한다
해당 문장으로 select 해오면
union all에 의해 2개의 테이블이 하나의 테이블처럼 보이게된다.
이상태에서 book_name이 오라클인 경우에만 가져오게하려면 조건을 추가해야한다.
그러면 내가 아는대로 where book_name = '오라클'을 진행하면 원하는대로 값이 나올까?
깔끔하게 예상을 뒤집어엎는다. 역시 생각대로 진행되지 않는게 재미있다
되지않는 이유는 나의 추측이지만
SELECT 절에서 AS를 사용했고 ORDER BY절까지 가야 사용할수있다는건
실행순서에 따라 2번이 되는 WHERE에선 인식을 할수 없다는게 내 생각이다.
그러면 어떻게해야 AS로 변경한걸 조건으로 인식하게 할수있는것일까..?
서브쿼리로 감싸고 먼저진행시킨다음 조건으로 인식하게 할수있다.
서브쿼리로 먼저 AS절을 진행시키고 이후에 밖에서 AS를 조건으로 인식 시킬수있었다.
나는 아직도 DB를 모른다.
'Database > Oracle' 카테고리의 다른 글
[Oracle]Oracle 포트 변경하는 방법 (0) | 2021.01.13 |
---|---|
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기 (0) | 2021.01.12 |
[Oracle]SQL 물리삭제와 논리삭제 (0) | 2021.01.02 |
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법 (0) | 2020.12.31 |
[Oracle] The Network Adapter cloud not establish the connection 해결 방법 (0) | 2020.12.31 |
댓글
이 글 공유하기
다른 글
-
[Oracle]Oracle 포트 변경하는 방법
[Oracle]Oracle 포트 변경하는 방법
2021.01.13 -
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기
2021.01.12 -
[Oracle]SQL 물리삭제와 논리삭제
[Oracle]SQL 물리삭제와 논리삭제
2021.01.02 -
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법
2020.12.31