본문으로 바로가기
반응형

프로그래머스 SQL 코딩테스트 연습문제

https://school.programmers.co.kr/learn/challenges?order=recent&languages=mysql

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

도서 관련 문제 모음 개인 답안 (MYSQL)

1. 조건에 맞는 도서 리스트 출력하기

[문제]

BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

  select book_id
       , date_format(published_date, '%Y-%m-%d') as published_date
    from book
   where year(published_date) = '2021'
     and category = '인문'
order by published_date

 

- link : https://school.programmers.co.kr/learn/courses/30/lessons/144853

 

2. 조건에 맞는 도서와 저자 리스트 출력하기

[문제]

'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

select book.book_id
     , author.author_name
     , date_format(book.published_date, '%Y-%m-%d') AS published_date
  from book
  join author
    on book.author_id = author.author_id
 where book.category = '경제'
order by book.published_date

 

- link : https://school.programmers.co.kr/learn/courses/30/lessons/144854

 

3. 카테고리 별 도서 판매량 집계하

[문제]

2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 카테고리명을 기준으로 오름차순 정렬해주세요.

    select b.category
         , sum(bs.sales) AS total_sales
     from book_sales AS bs
left join book AS b
       on bs.book_id = b.book_id
    where bs.sales_date between '2022-01-01' and '2022-01-31'
 group by b.category
 order by b.category;

 

- link : https://school.programmers.co.kr/learn/courses/30/lessons/144855

 

4. 저자 별 카테고리 별 매출액 집계하기

[문제]

2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.

sselect a.author_id
    , a.author_name
    , b.category
    , sum(bs.sales * b.price) AS total_sales
 from book_sales AS bs
 join book AS b
   on bs.book_id = b.book_id
  and bs.sales_date between '2022-01-01' and '2022-01-31'
 join author AS a
   on b.author_id = a.author_id
group by a.author_id
       , b.category
order by a.author_id asc
       , b.category desc

 

- link : https://school.programmers.co.kr/learn/courses/30/lessons/144856

 

반응형