Algorithm/코딩테스트 (SQL)
[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기 (MySQL)
싱브이
2024. 2. 23. 21:57
728x90
반응형
문제
USED_GOODS_BOARD 테이블에서 2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회하는 SQL문을 작성해주세요. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력해주시고, 결과는 게시글 ID를 기준으로 내림차순 정렬해주세요.
내 생각
1. 2022년 10월 5일에 등록된 중고거래 게시물 : 조건이므로 WHERE
2. 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회 : SELECT
3. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력
4. 게시글 ID를 기준으로 내림차순 정렬 : ORDER BY 게시글 ID DESC;
3번 풀이가 중점인 문제이다. 조건에 따라 값을 반환하는 것을 알아야 한다.
CASE문을 통해 해결했는데, CASE문 사용법은 아래와 같다.
CASE
WHEN 조건1(조건절) THEN 값1(true일 경우의 값)
ELSE 값2(false일 경우의 값)
END
* 참고
IF ELSE문
IF (true일 경우의 값)
ELSE (false일 경우의 값)
END (컬럼명)
내 코드
SELECT BOARD_ID,
WRITER_ID,
TITLE,
PRICE,
CASE WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
ELSE '거래완료'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-05'
ORDER BY BOARD_ID DESC;
728x90
반응형