(ORACLE) 조회 결과가 없을때 ROW 조회 방법

반응형
SMALL

오라클 조회 결과가 없을때 ROW 조회하는 방법


 

  • 조건절에서 특정 되는 데이터가 없을 경우 ROW가 조회되지 않고, 해당 데이터는 NULL 또한 되지 않는다.
  • 해당 조건에 맞는 데이터가 있지 않아도 ROW를 얻기 위해서 아래와 같은 방법을 사용한다.


집계함수

  • COUNT, MAX, MIN, SUM, AVG 를 사용해 출력

집계함수 예시

SELECT AVG(EMAIL_ADDRESS) AS COLUMN1
FROM CO.CUSTOMERS
WHERE 1=1
  AND EMAIL_ADDRESS = ''

*집계함수를 이용하여 조회 할 경우 NULL이 조회 되는 것으로 ROW를 표현할 수 있다.


UNION ALL & NOT EXISTS

  • 조회 결과가 없을 경우 NOT EXISTS 조건을 가진 조회 결과가 보여진다.

예시

SELECT EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND EMAIL_ADDRESS = 'lai.kurtich@internalmail'

UNION ALL

SELECT NULL AS EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND NOT EXISTS (SELECT EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND EMAIL_ADDRESS = 'lai.kurtich@internalmail'
)

SELECT EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND EMAIL_ADDRESS = 'null@internalmail'

UNION ALL

SELECT NULL AS EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND NOT EXISTS (SELECT EMAIL_ADDRESS
FROM CO.CUSTOMERS
WHERE 1=1
  AND EMAIL_ADDRESS = 'null@internalmail'
)

 
 
위와 같이 조건 데이터가 존재하면 조회가 되고, 없는 경우에는 NULL이 조회 된다.

반응형
LIST