반응형
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