728x90
null 데이터를 채워주는 ifnull함수가 있다.
아래의 두개의 테이블이 있다.
위의 두 테이블을 left join 으로 합쳐
students 테이블의 first_name,
papers 테이블의 title, grade 컬럼을 보려 한다.
(papers 테이블의 student_id 는 foreign key 로 students 테이블의 id컬럼을 참조한다)
1
2
3
4
|
select s.first_name, p.title, p.grade
from students s
left join papers p
on s.id = p.student_id;
|
cs |
위의 코드로 조인을 하게 되면,
아래와 같이 null 데이터가 존재한다.
이러한 null 데이터는 ifnull 함수로 처리할 수 있다.
1
2
3
4
|
select s.first_name, ifnull(p.title, 'MISSING'), ifnull(p.grade, 0)
from students s
left join papers p
on s.id = p.student_id;
|
cs |
코드는 비슷하지만, ifnull 함수가 들어갔다.
ifnull()함수는 select 옆의 컬럼명 자리에 사용한다.
ifnull이 쓰인곳을 해석하면,
ifnull(p.title, 'MISSING') 만약 p.title에 null 이 있다면 'MISSING' 으로 바꿔라.
ifnull(p.grade, 0) 만약 p.grade에 null 이 있다면 0 으로 바꿔라
정도가 되겠다.
'IT 프로그래밍 관련 > MySQL' 카테고리의 다른 글
데이터베이스의 테이블 인덱스 생성 (0) | 2021.04.12 |
---|---|
MySQL 여러 테이블에서 foreign key 사용법 (1) | 2021.03.17 |
MySQL 정규화, 테이블의 연결 join (0) | 2021.03.17 |
MySQL case end 조건식 (0) | 2021.03.17 |
MySQL에서의 in 과 not in (0) | 2021.03.17 |
댓글