SQL Test

박무연·2023년 2월 28일
0

🔵SQL

목록 보기
10/15
post-thumbnail

- 문제

상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요.

출처 : programmers > select > 과일로 만든 아이스크림 고르기

- 풀이

SELECT h.flavor
from FIRST_HALF h , ICECREAM_INFO  i
where h.flavor = i.flavor and h.total_order > 3000 and i.INGREDIENT_TYPE like 'fruit_based'
order by h.total_order desc
  • h테이블의 falvor를 가져와야한다
  • h테이블과 i 테이블을 연결시켜두면 h 테이블의 조건이든 i 테이블의 조건이든 사용 할 수 있다!

- 문제

ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요.

출처 : programmers > select > 재구매가 일어난 상품과 회원 리스트 구하기

- 풀이

SELECT user_id, product_id
FROM online_sale
GROUP BY user_id, product_id
HAVING COUNT(user_id) >= 2
ORDER BY user_id ASC, product_id DESC
  • group by 일단 묶으면 들어가 있다
  • 그러면 두번이상 구입한 유저만 뽑아 내면 된다
  • having을 사용해서 두번 이상 구입한 유저만 뽑아내자

- IFNULL

해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수이다.

  • 구조
SELECT IFNULL(Column, "Null일 경우 대체 값") 
profile
Easy day!

0개의 댓글