본문 바로가기
SQL/SQL 문제풀이

SQL 36-40.

by 쿙이콩 2025. 5. 29.
728x90
반응형

36. 보호소에서 중성화한 동물

보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성

select i.animal_id,
       i.animal_type,
       i.name
from animal_ins i inner join animal_outs o on i.animal_id = o.animal_id
where i.sex_upon_intake like '%intact%' and (o.sex_upon_outcome like '%neutered%' or o.sex_upon_outcome like '%spayed%')
order by i.animal_id

★ 출제포인트

inner join으로 입양 간 동물만 필터링(교집합)

where 들어올때중성화여부 like '%intact%' and (나갈때중성화여부 like '%neutered% or 나갈때중성화여부 like '%spayed%')로 짧게 표현 

id로 정렬

 

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

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

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

★ 출제포인트

join으로 두 테이블 합치기

where로 경제 카테고리만 추출

date_format()으로 날짜 형식 변경

order by 오름차순 정렬

 

38. 조건별로 분류하여 주문상태 출력하기

FOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬

select order_id,
       product_id,
       date_format(out_date, '%Y-%m-%d') as out_date,
       case 
            when out_date <= '2022-05-01' then '출고완료'
            when out_date > '2022-05-01' then '출고대기'
            when out_date is null then '출고미정'
            end as '출고여부'
from food_order
order by 1

★ 오답노트

out_date를 date_format시키는 것

out_date날짜 비교하는 것ID기준 정렬

728x90

39. 성분으로 구분한 아이스크림 총 주문량

상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정

select i.ingredient_type,
       sum(f.total_order) as total_order
from first_half f join icecream_info i on f.flavor = i.flavor
group by i.ingredient_type
order by 2 asc

★ 출제의도

join을 통해 두 테이블 조인

sum 집계함수 - group by 필요

order by total_order (order by는 별칭 사용 가능)

 

40. 루시와 엘라 찾기

동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회

select animal_id,
       name,
       sex_upon_intake
from animal_ins
where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
order by animal_id

★ 출제의도

in을 통한 특정 문자열 목록 필터링 (이름이 null인 경우 자동 제외 됨!)

order by id

728x90
반응형

'SQL > SQL 문제풀이' 카테고리의 다른 글

SQL 46-50.  (2) 2025.05.30
SQL 41-45.  (6) 2025.05.30
SQL 31-35.  (6) 2025.05.28
SQL 26-30.  (8) 2025.05.27
SQL 22-25.  (2) 2025.05.26