안녕하세요~ 오늘도 프로그래머스 문제들을 풀어보면서 공부한 쿼리문들에 관해서 정리해보겠습니다~!!
먼저 ISNULL과 IFNULL은 데이터 값이 NULL인지 판별하기 위해 사용하는데요 언어에 따라서 사용하는 함수가 다르다고 합니다!
ISNULL : Microsorft SQL Server
IFNULL : MySQL
프로그래머스 문제 풀이할 때 MySQL에서 ISNULL, IFNULL 모두 사용할 수 있네요!!
1. ISNULL 함수
▷ DB에 NULL이 있는지 판별할 때 사용하는 쿼리문
◎ 사용법
1. ISNULL 사용 방법
SELECT ISNULL(컬럼1) FROM 테이블명;
▷ 해당 테이블에서 컬럼1의 값이 null이라면 true(1) 값을 반환합니다.
▷ 만약 null이 아니라면 false(0) 값을 반환합니다.
◎ 예시SELECT ISNULL(content) FROM board;
▷ board 테이블에 content가 null이라면 1, null이 아니라면 0을 반환합니다.◎ 예시
SELECT * FROM board WHERE !ISNULL(content);
▷ board 테이블에 id, title, content가 있다면 content가 null이 아닌 행들을 모두 출력할 수 있습니다.
ISNULL은 SELECT문 바로 다음에 사용해도 되고 WHERE절로 조건을 줄 수도 있습니다.
2. IFNULL 함수
▷ DB에 NULL이 있는지 판별할 때 사용하는 쿼리문
◎ 사용법
1. IFNULL 사용 방법
SELECT 컬럼1, IFNULL(컬럼2, 'NULL') AS 새컬럼 FROM 테이블명;
▷ 테이블의 컬럼1, 컬럼2의 데이터를 모두 출력하는데 컬럼2가 NULL이라면 'NULL'이라는 문구가 출력되고 NULL이 아니라면 컬럼2의 값이 그대로 출력됩니다. 이때, 컬럼2는 '새컬럼'이라는 이름으로 지정됩니다.
◎ 예시
SELECT title, IFNULL(content, 'null') as newcontent FROM board;
▷ board 테이블의 title, content를 출력할 때 content가 null이면 'null', 아니라면 content 내용을 그대로 출력합니다.
▷ 출력되는 테이블은 title, newcontent 두가지 컬럼으로 출력됩니다.
ISNULL은 true, false만 판별하고 IFNULL은 true, false를 판별하며 해당 조건을 만족하면 원하는 데이터 값으로 출력할 수 있네요!!
점점 익숙해져 가고 있는 것 같아요!! 다음 시간에도 SQL에 대해서 계속 정리해볼게요~~!!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~