본문 바로가기
Database/Oracle

[Oracle] ORA-01791: SELECT 식이 부적합합니다 / 원인 및 해결 방법

by 코딩 시그널 2021. 1. 20.
반응형

오늘은 오라클 에러 ORA-01791: SELECT 식이 부적합합니다. 에 대해 정리해 보겠습니다.

 

오류 내용

ORA-01791: SELECT 식이 부적합합니다
01791. 00000 -  "not a SELECTed expression"

 

쿼리

      SELECT  DISTINCT EMP_NO,
                       EMP_TP,
                       KOR_NM,
                       ENG_FNM_NM,
                       ENF_FNM_NM1,
                       AGE,
                       DEPT_CD
                  FROM HR_EMP_MST
              ORDER BY NUM_ID

 

발생 원인

SELECT 문에서 DISTINCT와 ORDER BY 절을 함께 사용했을 때 발생함

 

 

해결 방법

DISTINCT와 ORDER BY을 함께 사용할 경우 ORDER BY 절에는 SELECT 문에 사용된 칼럼들만 사용할 수 있습니다. 따라서 ORDER BY 절에 사용된 컬럼이 SELECT 문에 존재하지 않다면 해당 컬럼을 SELECT절에 넣어주면 오류를 해결할 수 있습니다.

댓글