DATABASE/MySQL Workbench

MySQL Workbench : case 문 작성법 (case, end)

신강희 2024. 5. 15. 22:18
728x90

< MySQL  case 문 작성법 (case, end) >

# 이전 생성한 스키마(DB)와 테이블로 이어서 진행

# 참고 : https://sorktjrrb.tistory.com/105

 

MySQL Workbench : 문자열 처리 함수들 (concat, concat_ws, substring)

# 문자열 처리 함수 학습을 위해 books 라는 새로운 테이블 생성ㄴ 혹시 테이블을 수정하고 싶으면 좌측 목록에서 체크된 아이콘을 누르면 수정 가능! # yhdb 를 사용하였으므로, 해당 db 사용 문구

sorktjrrb.tistory.com

 

# 데이터의 조건문 case

-- 데이터문의 조건문!! case , end
-- 조건 설정은 when, then, else 활용
-- 출팔년도가 2000년 이상인 책들은 '최신책' 이라고 하고,
-- 그렇지 않은 책들은 '예전책' 이라고 하여,
-- type 컬럼을 만들자.

select * , 
	case 
		when released_year >= 2000 then '최신책'
		else '예전책'
    end as type
from books;

 

# 여러 조건을 설정할때는 when을 이어서 작성

-- 재고가 0 이상이고 50이하이면, *
-- 재고가 51 이상이고 100이하이면, **
-- 이도저도 아니면, *** 로 하여
-- stock 이라는 컬럼을 만들자.

select * ,
	case
		when stock_quantity between 0 and 50 then '*'
		when stock_quantity between 51 and 100 then '**'
	else '***'
    end as stock
from books;

 

-- 6) 제목에 stories 를 포함하고 있으면, Short Stories로 
-- 제목이 Just Kids와 일치하면, Memoir 로
-- 제목에 Heartbreaking 이 포함되어 있으면, Memoir로 하고
-- 그렇지 않으면 Novel 이라고 한다.

select title, author_lname ,
	case
		when lower(title) like '%stories%' then 'Short Stories'
        when lower(title) = 'just kids' then 'Memoir'
        when lower(title) like '%heartbreaking%' then 'Memoir'
        else 'Novel'
    end as TYPE
from books;

 

다음 게시글로 계속~!

반응형