[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 | 오라클
·
📝 Coding Test/SQL
문제오프라인/온라인 판매 데이터 통합하기풀이SELECT TO_CHAR(SALES_DATE, 'YYYY-MM-DD') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNTFROM ( SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE UNION SELECT SALES_DATE, PRODUCT_ID, NULL, SALES_AMOUNT FROM OFFLINE_SALE)WHERE TO_CHAR(SALES_DATE, 'YYYY-MM-DD') LIKE '2022-03%'ORDER BY 1, 2, 3;UNION을 사용하여 풀이했습니다.UNION은 중복된 데이터를 제거하고, UNION ALL..
[프로그래머스] 서울에 위치한 식당 목록 출력하기 | 오라클
·
📝 Coding Test/SQL
문제자동차 대여 기록 별 대여 금액 구하기풀이SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, B.REVIEW_SCOREFROM REST_INFO A JOIN (SELECT REST_ID, ROUND(AVG(REVIEW_SCORE), 2) REVIEW_SCORE FROM REST_REVIEW GROUP BY REST_ID) BON A.REST_ID = B.REST_IDWHERE A.ADDRESS LIKE '서울%'ORDER BY REVIEW_SCORE DESC, FAVORITES DESC;REST_ID와 리뷰점수 평균 두 개의 컬럼을 갖는 인라인 뷰를 만들어 조인하여 풀이하였습니다.
[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 | 오라클
·
카테고리 없음
문제그룹별 조건에 맞는 식당 목록 출력하기풀이SELECT A.MEMBER_NAME, B.REVIEW_TEXT, TO_CHAR(B.REVIEW_DATE, 'YYYY-MM-DD') REVIEW_DATEFROM MEMBER_PROFILE A JOIN REST_REVIEW B ON A.MEMBER_ID = B.MEMBER_IDWHERE A.MEMBER_ID = ( SELECT MEMBER_ID FROM ( SELECT MEMBER_ID, COUNT(*) FROM REST_REVIEW GROUP BY MEMBER_ID ORDER BY COUNT(*) DESC ) WHERE ROWNUM = 1)ORDER BY REVIEW_DATE, RE..
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 | 오라클
·
📝 Coding Test/SQL
문제즐겨찾기가 가장 많은 식당 정보 출력하기풀이SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITESFROM REST_INFOWHERE (FOOD_TYPE, FAVORITES) IN ( SELECT FOOD_TYPE, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE)ORDER BY FOOD_TYPE DESC;GROUP BY를 이용해서 음식별 최대 즐겨찾기 수를 뽑은 서브쿼리를 이용해서 풀이합니다.
[프로그래머스] 주문량이 많은 아이스크림들 조회하기 | 오라클
·
📝 Coding Test/SQL
문제주문량이 많은 아이스크림들 조회하기풀이SELECT FLAVORFROM ( SELECT FLAVOR, SUM(TOTAL_ORDER) SUM FROM ( SELECT * FROM FIRST_HALF UNION ALL SELECT * FROM JULY ) GROUP BY FLAVOR ORDER BY SUM DESC) WHERE ROWNUM 상반기와 7월에 가장 많이 팔린 FLAVOR를 순서대로 3개 구하는 문제입니다. 상반기 판매정보와 7월 판매정보 중 겹치는 데이터가 없기 때문에, UNION ALL을 사용해서 풀이했습니다. *참고 : UNION은 중복된 row를 제외하고(DISTINCT), UNION ALL은 중복된 row도 ..
[프로그래머스] 취소되지 않은 진료 예약 조회하기 | 오라클
·
📝 Coding Test/SQL
문제취소되지 않은 진료 예약 조회하기풀이SELECT A.APNT_NO, P.PT_NAME, P.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMDFROM APPOINTMENT A JOIN PATIENT P ON A.PT_NO = P.PT_NO JOIN DOCTOR D ON A.MCDP_CD = D.MCDP_CD AND A.MDDR_ID = D.DR_IDWHERE TO_CHAR(A.APNT_YMD, 'YYYYMMDD') = '20220413' AND A.MCDP_CD = 'CS' AND A.APNT_CNCL_YN = 'N'ORDER BY A.APNT_YMD;
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 | 오라클
·
📝 Coding Test/SQL
문제자동차 대여 기록 별 대여 금액 구하기풀이SELECT AA.HISTORY_ID, (AA.RENT_DATE * AA.DAILY_FEE) * (100 - NVL(DISCOUNT_RATE, 0)) / 100 FEEFROM (SELECT HISTORY_ID, H.END_DATE - H.START_DATE + 1 RENT_DATE, CASE WHEN H.END_DATE - H.START_DATE + 1 >= 90 THEN '90일 이상' WHEN H.END_DATE - H.START_DATE + 1 >= 30 THEN '30일 이상' WHEN H.END_DATE - H.START_DATE + 1 >= ..
[프로그래머스] 조건에 맞는 사용자 정보 조회하기 | 오라클
·
📝 Coding Test/SQL
[level 3] 조건에 맞는 사용자 정보 조회하기 - 164670문제 링크성능 요약메모리: 0.0 MB, 시간: 0.00 ms구분코딩테스트 연습 > String, Date풀이SELECT USER_ID, NICKNAME, CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2 전체주소, SUBSTR(TLNO, 1, 3) || '-' || SUBSTR(TLNO, 4, 4) || '-' || SUBSTR(TLNO, 8, 4) 전화번호FROM USED_GOODS_USERWHERE USER_ID IN ( SELECT WRITER_ID FROM USED_GOODS_BOARD GROUP BY WRITER_ID HAVING COUNT..
[프로그래머스] 오랜 기간 보호한 동물(2) | 오라클
·
📝 Coding Test/SQL
문제오랜 기간 보호한 동물(2)풀이SELECT *FROM ( SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID ORDER BY O.DATETIME - I.DATETIME DESC)WHERE ROWNUM DATETIME을 빼서 정렬을 할 생각을 처음에 하지 못했습니다.