코딩테스트/프로그래머스

[프로그래머스]Lv2. 조건에 부합하는 중고거래 상태 조회하기(SQL)

연지양갱 2023. 9. 14. 20:06
728x90
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/164672

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

갑자기 아무 문제나 들어오니까 SQL문 작성하는 거여서 한번 해봤습니다!

 

문제 설명은 생략하겠습니다

'왜냐면 기본적인 문제는 SQL문이라 개념과 활용 부분만 알면 할 수 있어요!'

 

이 문제에서 가장 핵심적인 부분은

특정날짜에 해당하는 데이터,

내림차순,

튜플의 해당 컬럼에 대한 값별로 변경해주는 것입니다

 

이렇게 세개를 알면 할 수 있습니다!

 

 

1. 특정 날짜에 해당하는 데이터

코딩을 시작하면 if를 시작하듯이 SQL문에서도 if 절이 있답니당

WHERE 부분입니당

구분하고자 하는 컬럼명과 값을 작성하면 됩니당

 

예를 들어

SELECT *

FROM TABLE_NAME

WHERE COLUMN_NAME = '튜플의 값';

을 작성하면 됩니당

 

2. 내림차순

내림차순/오름차순은 ORDER BY와 함께 하면 됩니다!

내림차순 = DESC

오름차순 = ASC

항상 내림차순/오름차순을 잊어버려서,,ㅎㅎ 저는 오름차순은 ASC(오스크)이렇게 외웠답니당.. 그러면 당연히 DESC가 내림차순이겠죠?

 

3. 조회할때 값별로 변경하기

CASE를 사용하면 값 별로 조회 데이터를 변경할 수 있습니다.

CASE는 END, AS 컬럼명 과 함께하면 됩니다!

그리고 CASE에서는 WHEN ~ THEN ~ 도 꼭 기억해주세요

 

이런 경우(CASE)에는 (WHEN) 이 값(컬럼명 = 조건)을 (THEN) 이렇게(해당 변경 데이터) 불러야해

끝났고(END) 이 컬럼명은 이걸로 할래(AS 컬럼명);

 

이렇게 글로 만들어서 외우는게 저의 방식이랍니당

 

아무튼 

프로그래머스 [조건에 부합하는 중고거래 상태 조회하기]의 전체 코드

 

-- 코드를 입력하세요
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;

 

참고

https://m.blog.naver.com/sqlgate/221384080175

 

 

반응형