sql (7) 썸네일형 리스트형 [프로그래머스_SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/157339 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 테이블: CAR_RENTAL_COMPANY_CAR 자동차 테이블 CAR_RENTAL_COMPANY_RENTAL_HISTORY 대여 이력 테이블 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 할인 정보 테이블 문제: 자동차 종류가 '세단','SUV' 인 자동차 중 2022-11-01~2022-11-30 까지 대여 가능하고 30일간 대여 금액이 50만원 이상 200만원 미만인 자동차 조.. [프로그래머스_SQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 또 프로그래머스 또 SQL 글을 적습니다...! 문제: 2022년도 9월 에 속하는 대여 기록중 대여 기간이 30일 이상은 장기대여 미만은 단기대여로 출력 여자는 F 남자는 M 과 같이 값이 고정인 경우는 DECODE(GENDER, '여자', 'F', '남자', 'M') 이런 식으로 작성하는 편이 간단합니다. 하지만 이번 문제처럼 30일 초과는 단기 이상은 장기와 같이 범위를 다룰 때는 CASE.. [프로그래머스] SQL 자동차 대여 기록 별 대여 금액 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/151141 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr CAR_RENTAL_COMPANY_CAR -- 품목 테이블 CAR_RENTAL_COMPANY_RENTAL_HISTORY -- 대여 이력 테이블 CAR_RENTAL_COMPANY_DISCOUNT_PLAN -- 대여 이력 할인율 테이블 자동차 종류가 트럭인 자동차의 대여 기록 별 대여 금액을 구하는 문제였다. 처음에는 아래와 같이 풀었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .. [프로그래머스_SQL] 상품을 구매한 회원 비율 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 간략하게 요약하자면, 2021년에 가입한 회원 중 상품을 구매한 회원수, 구매 비율을 년 월로 출력하는 문제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 SELECT SUBSTR(TO_CHAR(OS.SALES_DATE, 'YYYYMMDD'), 1, 4) YEAR ,TO_NUMBER(SUBSTR(TO_CHAR(OS.SALES_DATE, 'YYYYMMDD'), .. ALIAS 에서는 연산이 안 됩니다 동적 테이블을 만드는 과정에서 CONCAT 함수를 사용하려 COL1, COL2 와 같이 이름을 붙이려고 하였으나, 별칭에서는 연산이 불가합니다. SELECT CONCAT('COL' ,'1') FROM DUAL => 여기서 1 은 마이 바티스에서 INDEX 로 받아온 값입니다. 이렇게 테스트 했을 때는 정상작동하나, SELECT 컬럼 AS CONCAT('COL' ,'1') FROM 테이블 위와 같이 실행하면 SQL Error [923] [42000]: ORA-00923: FROM 키워드가 필요한 위치에 없습니다. 에러가 발생합니다. 따라서 마이바티스를 사용하신다면 마이바티스에서 foreach 구문 사용하여서 인덱스를 매겨 주는 방법을 사용하시면 됩니다. 프로그래머스 SQL 우유와 요거트가 담긴 장바구니 (오라클) 문제 우유와 요거트를 동시에 구입한 장바구니 아이디 조회 아이디 순으로 정렬 solution 1 SELECT A.CART_ID FROM CART_PRODUCTS A, CART_PRODUCTS B WHERE A.NAME='Milk' AND B.NAME='Yogurt' AND A.CART_ID=B.CART_ID ORDER BY A.ID A는 우유를 구매한 아이디, B는 요거트를 구매한 아이디 A와 B에 모두 있는 아이디 = 우유와 요거트를 모두 구매한 아이디 solution2 SELECT CART_ID FROM CART_PRODUCTS WHERE NAME='MILK' AND CART_ID IN (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME='YOGURT') ORDER BY.. 프로그래머스 SQL 헤비 유저가 소유한 장소 (오라클) 문제 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부른다. 헤비 유저가 등록한 공간 정보를 아이디 순으로 조회. solution SELECT * FROM PLACES WHERE HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(ID) > 1) ORDER BY ID HOST_ID로 묶으면 몇 개의 공간을 등록하고 있는지 ID 갯수로 확인할 수 있다. 둘 이상 등록한 사람을 HAVING 에서 조건으로 걸어주면 헤비 유저의 호스트 아이디를 뽑는 서브쿼리가 완성된다. 공간 정보를 알고 싶으니까 서브쿼리에 해당하는 HOST_ID 의 정보를 모두 (*) SELECT 한다. 마지막으로 ORDER BY 로 아이디 순 정렬을 한다. 이전 1 다음