카테고리 없음

7월 18일 화요일 TIL 회고록

tft4rollz 2023. 7. 18. 22:28

프로그래머스 SQL 연습


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

문제 설명 및 문제, 예시

풀이

-- 코드를 입력하세요
SELECT book_id, author_name, date_format(published_date,'%Y-%m-%d')
from book
inner join author on book.author_id = author.author_id
where category like '경제'
order by  date_format(published_date,'%Y-%m-%d') asc;

left join 대신 합집합인 inner join을 사용했다. book 테이블과 author 테이블의 공통적으로 있는 컬럼인 book_id를 사용해서 검색했다.

where 문에서 like를 사용해서 카테고리가 '경제'인 것만 검색하게 만들었다. 

 

실행 결과


상품 별 오프라인 매출 구하기

문제 설명 및 문제, 예시

풀이

-- 코드를 입력하세요
SELECT product_code, sum(pro.price * offline_sale.sales_amount)
from product pro
inner join offline_sale on pro.product_id = offline_sale.product_id
group by product_code
order by sum(pro.price * offline_sale.sales_amount) desc, product_code asc;

SELECT 문에서 sum을 사용해서 가격과 오프라인 판매량의 수를 더했다. 

이번에도 inner join을 사용해서 offline_sale 테이블이랑 조인시켰다. 공통적으로 겹치는 컬럼인 product_id로 검색했다.

group by를 사용해서 product_code 그룹으로 묶고 가격과 오프라인 판매량의 수를 기준으로 내림차순 정렬 시켰고, 매출액이 같다면 상품 코드를 기준으로 오름차순 정렬했다.

 

실행 결과


있었는데요 없었습니다

문제 설명 및 예시

풀이

-- 코드를 입력하세요
SELECT ai.animal_id, ai.name
from animal_ins ai
left join animal_outs ao on ai.animal_id = ao.animal_id
where ai.datetime > ao.datetime
order by ai.datetime asc;

left join을 사용해 animal_outs 테이블을 조인하고, 공통적으로 겹치는 컬럼인 animal_id를 사용했다.

where문을 사용해 동물 보호소로 들어온 동물의 보호 시작일이 동물 보호소에서 입양을 보낸 동물의 입양일보다 크면 데이터를 검색하도록 만들었다.

 

실행 결과