[개발]programmers/SQL 17

Lv.2_자동차 평균 대여 기간 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/157342?language=oracle 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, ROUND(AVG(END_DATE-START_DATE+1),1) AS AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID HAVING AVG(END_DATE-START_DATE+1) >= 7 ORDER BY 2 DESC, 1 DESC; 날짜 계산할 때에는 +1 까먹..

Lv.1_자동차 대여 기록에서 장기/단기 대여 구분하기

https://school.programmers.co.kr/learn/courses/30/lessons/151138?language=oracle 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 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 END_DATE - START_DATE + 1 >= 30 THEN '장기 대여' ELSE '단기 대여' END AS RENT_TYPE FROM CAR..

Lv.1_특정 옵션이 포함된 자동차 리스트 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/157343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC; 특정 옵션이 포함되어있는지 (특정 문자가 포함되어있는지) 여부는 와일드 문자 %를 사용한다는 것을 잊지 말자!

Lv.3_자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, MAX(CASE WHEN START_DATE = TO_DATE('2022-10-16','YYYY-MM-DD') THEN '대여중' ELSE '대여 가능' END) AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY 1 DESC; car_id별로 그룹화하고 "날짜 순에서 가장 최근..

Lv.3_대여 기록이 존재하는 자동차 리스트 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/157341?language=oracle 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT DISTINCT H.CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY H INNER JOIN CAR_RENTAL_COMPANY_CAR C ON H.CAR_ID = C.CAR_ID WHERE C.CAR_TYPE = '세단' AND EXTRACT(MONTH FROM H.START_DATE) = 10 ORDER BY 1 DESC;

Lv.2_자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

SELECT CAR_TYPE, COUNT(*) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%' GROUP BY CAR_TYPE ORDER BY 1 ASC; 다소 원초적으로 푼 듯 하다 다른 사람들 푼 것을 보니 '%시트%'라는 아주 훌륭한 방법을 사용했다 시트에 종류가 3가지밖에 없었나보다 앞으로는 문제를 꼼꼼히 읽자

Lv.4_5월 식품들의 총매출 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT P.PRODUCT_ID, P.PRODUCT_NAME, (O.AMOUNT * P.PRICE) TOTAL_SALES FROM FOOD_PRODUCT P, (SELECT PRODUCT_ID, SUM(AMOUNT) AMOUNT, PRODUCE_DATE FROM FOOD_ORDER WHERE EXTRACT(MONTH FROM PRODUCE_DATE) = 5 GROUP BY PRODUCT_ID..