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이 출력된다
반응형
'SQL' 카테고리의 다른 글
[SQLite] 특정 테이블 존재 유무 확인하기 (0) | 2022.02.10 |
---|---|
SQLite 현재 날짜/시간, 어제 날짜 가져오기 (0) | 2022.01.12 |
SQL문 INSERT구문으로 테이블 레코드 추가하기 (0) | 2021.09.14 |
SQLite- CREATE문 TABLE (테이블 생성하기)/테이블 추가 (0) | 2021.06.10 |
데이터베이스 - SQLite 사용하기, DB Browser for SQLite 다운로드 (0) | 2021.04.26 |
댓글