티스토리 뷰

Lv2. 조건에 부합하는 중고거래 상태 조회하기

문제

- 2022년 10월 5일 등록된 중고거리 게시물 조회 => WHERE문 이용

- 거래상태가 SALE 이면 판매중, RESERVED면 예약중, DONE이면 거래완료로 분류 => CASE문 또는 IF문 이용!

- 게시글 ID 기준으로 내림차순 정렬 => ORDER BY DESC

 

풀이1 : IF문 이용

SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, 
IF (STATUS = 'SALE','판매중',IF (STATUS = 'RESERVED','예약중','거래완료')) AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE ='2022-10-05'
ORDER BY BOARD_ID DESC;

*if 문 사용시 괄호 주의! IF에는 괄호 안 씌움!

* = 대신 like를 사용할 수도 있다

 

풀이2 : CASE 문 이용

SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, 
CASE 
    WHEN STATUS = 'SALE' THEN '판매중'
    WHEN STATUS = 'RESERVED' THEN '예약중'
    WHEN STATUS ='DONE' THEN'거래완료' 
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE ='2022-10-05'
ORDER BY BOARD_ID DESC;

 

* CASE문 사용시 WHEN 여러개 사용할때 뒤에 콤마 적으면 안 됨!

* END 로 끝내주기!

* CASE 다음에 WHEN 할 때 들여쓰기는 필수인건가? → 필수는 아닌듯하나 가독성을 위해서 들여쓰기 해주는게 좋을듯!