본문 바로가기

oracle29

[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 SELECT DR_NAME, DR_ID, MCDP_CD, TO_CHAR(HIRE_YMD,'YYYY-MM-DD') HIRE_YMD FROM DOCTOR WHERE MCDP_CD IN ('CS','GS') ORDER BY HIRE_YMD DESC, DR_NAME 1. 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사 조건을 OR을 사용할 수도 있겠으나, IN으로 사용하면 더 간결해진다. ▶ WHERE MCDP_CD IN ('CS','GS') 2. 고용일자 기준 내림차순, 고용일자가 같으면 이름 기준 오름차순 ORDER BY 뒤에 컬럼을 정렬할 순서대로 작성한다. ▶ ORDER BY HIRE_YMD DESC, DR_NAME 3. 날짜 포맷 맞추기 맞춰주지 않으면 시,분,초 까지 표시되므로 정답으로 인정하지.. 2023. 6. 5.
[프로그래머스] 인기있는 아이스크림 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID 1. 총주문량 내림차순, 총주문량 같을시 출하번호 기준으로 오름차순 ORDER BY 뒤에 컬럼을 정렬할 순서대로 작성한다. ▶ ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID 2023. 6. 5.
[프로그래머스] 과일로 만든 아이스크림 고르기 SELECT FH.FLAVOR FROM FIRST_HALF FH LEFT JOIN ICECREAM_INFO II ON FH.FLAVOR = II.FLAVOR WHERE FH.TOTAL_ORDER > 3000 AND II.INGREDIENT_TYPE = 'fruit_based' ORDER BY FH.TOTAL_ORDER DESC 1. JOIN을 사용 FIRST_HALF 테이블엔 아이스크림의 주성분 정보가 없기 때문에 JOIN으로 묶어서 조회 ▶ FROM FIRST_HALF FH LEFT JOIN ICECREAM_INFO II ON FH.FLAVOR = II.FLAVOR 1. 상반기 아이스크림 총 주문량 3000초과 ▶ WHERE FH.TOTAL_ORDER > 3000 2. 아이스크림의 주 성분이 과일인 아.. 2023. 6. 5.
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 SELECT BOOK_ID, TO_CHAR(PUBLISHED_DATE,'YYYY-MM-DD') AS PUBLISHED_DATE FROM BOOK WHERE TO_CHAR(PUBLISHED_DATE,'YYYY') = '2021' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE; 1. 2021년 발행된 책 DATE형태의 PUBLISHED_DATE에서 연도만 뽑아 문자열형태로 추출하여 비교 ▶ WHERE TO_CHAR(PUBLISHED_DATE,'YYYY') = '2021' 2. 인문 카테고리 책 ▶ AND CATEGORY = '인문' 3. 발행일 기준 오름차순 정렬 ▶ ORDER BY PUBLISHED_DATE ASC (ASC는 안써도 된다) 2023. 4. 28.
[프로그래머스] 평균 일일 대여 요금 구하기 SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV'; 1. 'SUV' 차종으로 제한 ▶ WHERE CAR_TYPE = 'SUV' 2. 대여요금의 평균 계산 ▶ AVG(DAILY_FEE) 3. 소수 첫 번째 자리에서 반올림 ▶ 'ROUND(숫자, 자릿수)'는 소수를 반올림 처리한다. ▶ 'CEIL(숫자)'는 소수 첫 번째 자리에서 올림 처리한다. ▶ 'TRUNC(숫자, 자릿수)'는 소수를 버림 처리한다. ▶ ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE 2023. 4. 28.
[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 SELECT HISTORY_ID, CAR_ID, TO_CHAR(START_DATE,'YYYY-MM-DD') START_DATE, TO_CHAR(END_DATE,'YYYY-MM-DD') END_DATE, CASE WHEN TRUNC(END_DATE) - TRUNC(START_DATE) + 1 >= 30 THEN '장기 대여' ELSE '단기 대여' END AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE TO_CHAR(START_DATE,'YYYY-MM') = '2022-09' ORDER BY HISTORY_ID DESC; 1. 2022년 9월에 대여한 기록에서만 조회 ▶ WHERE TO_CHAR(START_DATE,'YYYY-MM') = '2022-0.. 2023. 4. 26.