728x90
https://school.programmers.co.kr/learn/courses/30/lessons/164672
문제
USED_GOODS_BOARD 테이블에서 2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회하는 SQL문을 작성해주세요. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력해주시고, 결과는 게시글 ID를 기준으로 내림차순 정렬해주세요.
출력
SQL문을 통해서 다음과 같이 출력 되어야 한다.
BOARD_ID | WRITER_ID | TITLE | PRICE | STATUS |
B0010 | keel1990 | 철제선반5단 | 10000 | 판매중 |
B0009 | yawoong67 | 선반 팝니다 | 12000 | 거래완료 |
제한사항에 대해 보고싶으면 눌러주세요
더보기
제한사항
X
풀이방법
1. USED_GOODS_BOARD 테이블에서 참고하기 때문에 FROM 부터 작성했습니다.
FROM USED_GOODS_BOARD
2. CREATED_DATE 가 2022-10-05인 데이터를 조회했습니다.
WHERE CREATED_DATE = "2022-10-05"
3. 게시글 ID기준으로 내림차순 정렬하는 코드를 작성했습니다.
ORDER BY BOARD_ID DESC
4. 마지막으로 STATUS 상태에 따라서 "예약중", "판매완료", "판매중" 을 CASE 문을 쓰면서 SELECT문을 작성했습니다.
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE WHEN STATUS='SALE' THEN '판매중'
WHEN STATUS='DONE' THEN '거래완료'
ELSE '예약중'
END AS STATUS
코드
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE WHEN STATUS='SALE' THEN '판매중'
WHEN STATUS='DONE' THEN '거래완료'
ELSE '예약중'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = "2022-10-05"
ORDER BY BOARD_ID DESC;
결론
CASE문을 처음작성하느라 조금 낯설었지만 충분히 해결할 수 있는 문제다.
나머지 SELECT, FROM, WHERE, ORDER BY 모두 데이터베이스 수업시간에 들었던 내용들이라 어려움없이 해결할 수 있었다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [Python] (Level 3) 아방가르드 타일링 (+ 추가 test case) (0) | 2023.11.17 |
---|---|
[프로그래머스] [Python] (Level 2) 두 원 사이의 정수 쌍 (0) | 2023.11.16 |
[프로그래머스] [Python] (Level 2) 당구 연습 (+ 추가 test case) (1) | 2023.11.16 |
[프로그래머스] [Python] (Level 2) 할인 행사 (0) | 2023.08.06 |
[프로그래머스] [Python] (Level 2) 우박수열 정적분 (0) | 2023.07.30 |