insert into books
(title, author_fname, author_lname, released_year, pages)
values
('좋은책','길동','홍',2024,240);
를 입력하여
null 데이터가 생겼다고 하자
null 데이터가 있는 행을 찾으려면?
select *
from books
where stock_quantity = null;
기존에 배운대로라면 이렇게 입력을 할 것이고
이렇게 나오게 된다
보통 잘 못 썼다면 에러가 날텐데 이 경우에는 버그로 취급한다
이때 =나 like가 아닌
is 라고 입력해줘야 정상적으로 출력이 된다
select *
from books
where stock_quantity is null;
그렇다면 null이 아닌 데이터를 가져오려면?
select *
from books
where stock_quantity is not null;
not is 가 아니다
is not 이다
기본 영어 문법을 생각하자
그렇다면 null 데이터를 다르게 표현하고 싶다면?
이런 데이터가 있다고 할때
타이틀의 null은 MISSING으로
grade의 null은 0 으로 하고 싶다면
select s.first_name, p.title, p.grade
from students s
left join papers p
on s.id = p.student_id;
기존의 쿼리는 이랬고
이것을
select s.first_name,
ifnull(p.title, 'missing') as title,
ifnull(p.grade, 0) as grade
from students s
left join papers p
on s.id = p.student_id;
타이틀 부분을 ifnull( )로 감싸고
첫번째 파라미터 에 기존에 가져오는 컬럼을 적고
두번째 파라미터를 그 컬럼의 null을 표현 하고픈 단어로 적어주면 되겠다
'MYSQL' 카테고리의 다른 글
MYSQL - Date, Time, DateTime (0) | 2024.05.16 |
---|---|
MYSQL - CASE문 작성법, if( ) 사용법 (0) | 2024.05.14 |
MYSQL - ㅁㅁ별로 묶어서 Group by, having 작성법, 서브 쿼리 Sub Query (0) | 2024.05.14 |
MYSQL - 숫자를 세는 count( ),합산sum( ), 평균avg( ), 최대/최소값 max( ),min( ) (0) | 2024.05.14 |
MYSQL - 원하는 조건을 '찾는' like, 중첩 and,둘 중 하나True or, 제외 not (0) | 2024.05.14 |