본문 바로가기
SQL

SQL 조회된 데이터가 없는 경우, NULL일 때 0으로 출력하기

by 고체물리학 2021. 12. 12.

SQL문에서 조회된 데이터가 NULL인 경우, 없는 경우에 원하는 출력 값을 설정하기 위한 방법을 정리

 

이름이 table1인 테이블

id data
1 100
2 200
3 300
4 400
5 NULL

 

1. 먼저 조회된 데이터가 있는 경우 모든 열을 조회 하려면

ex) id = 1인 테이블 조회

SELECT * From table1 WHERE id=1

 

결과는 

 

2. 조회된 데이터가 NULL인 경우 0을 출력하고 싶으면

ex) id = 5 인 칼럼의 data 값을 조회

SELECT data From table1 WHERE id=5

결과)

 

- NULL인 값이 조회되는데 이 값을 0으로 출력하고 싶으면 ifnull() 함수를 사용하면 된다

 

- ifnull(column명,null인경우 대체할 값)

SELECT ifnull(data,0) data From table1 WHERE id=5

 

id = 5인 컬럼의 data값이 NULL이면 0을 출력하고 아니면 원래 data값을 출력한다

 

3. 조회된 데이터가 없을 때 0 리턴 값 설정

이번에는 조회된 데이터가 NULL이 아닌 데이터가 아예 없을 때 리턴 값을 설정하는 방법을 정리

 

ex) id = 6 인 data의 값 출력

 

 

그냥 조회할 때와 ifnull을 사용할 때 출력 값이 똑같이 안 나오는 걸 알 수 있다

이럴 때는 사용하면 된다

 

SELECT ifnull(max(data),0) data From table1 WHERE id=6

 

max 집계 함수는 그룹에서 모든 값들 중 가장 큰 값을 반환하는데 id가 6인 data의 가장 큰 값은 없기(NULL) 때문에 결과는 NULL을 대체할 값 0이 출력된다

 

 

반응형

댓글