-
[ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 15Study/SQL 2024. 6. 15. 22:10728x90반응형
매일 프로그래머스에서 제공하는 SQL 문제를 5개씩 해결하며, 데이터 베이스 관리 및 쿼리 작성 능력을 성장시키고자 합니다.
또한, 오라클(Oracle) 데이터베이스를 사용하여 문제를 해결함으로써, 실제 업무 환경에서 마주칠 수 있는 다양한 상황에 대비하고자 합니다.
매일 바쁜 일상 속에서 새로운 것을 배우고 성장하는 것은 어렵겠지만, 도전이라도 하면 어떨까 합니다.
프로그래머스는 무료로 다양한 난이도의 문제를 제공하기 때문에, 저는 제일 낮은 난이도부터 정답률이 높은 순서대로 풀어 보려고 합니다.
728x90마지막 2일은 3문제씩 풀었습니다.
문제 풀이
해당 문제에 대한 자세한 내용은 프로그래머스에서 찾아볼 수 있습니다!
1. 그룹별 조건에 맞는 식당 목록 출력하기
MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요.
회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요.select a.member_name, b.review_text, to_char(b.review_date, 'yyyy-mm-dd') as review_date from (SELECT m.member_id, m.member_name, count(*) from member_profile m, rest_review r where m.member_id = r.member_id group by m.member_id, m.member_name order by count(*) desc fetch first 1 row only) a, rest_review b where a.member_id = b.member_id order by 3, 2
2. 오프라인/온라인 판매 데이터 통합하기
ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요.
OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요.
결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.select to_char(sales_date, 'yyyy-mm-dd') as sales_date, product_id, user_id, sales_amount from online_sale where to_char(sales_date, 'yyyymm') = '202203' union all select to_char(sales_date, 'yyyy-mm-dd') as sales_date, product_id, null as user_id, sales_amount from offline_sale where to_char(sales_date, 'yyyymm') = '202203' order by 1, 2, 3
반응형3. 입양 시각 구하기(2)
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다.
0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요.
이때 결과는 시간대 순으로 정렬해야 합니다.select b.hour, nvl(a.count, 0) from (SELECT to_number(to_char(datetime, 'hh24')) as hour, count(*) as count from animal_outs group by to_number(to_char(datetime, 'hh24'))) a, (select level -1 as hour from dual connect by level <= 24) b where a.hour(+) = b.hour order by 1
728x90반응형'Study > SQL' 카테고리의 다른 글
[ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 16 (Final) (0) 2024.06.17 [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 14 (0) 2024.06.14 [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 13 (2) 2024.06.11 [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 12 (1) 2024.06.10 [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 11 (0) 2024.06.09