본문 바로가기

Coding Test/SolveSQL6

SolveSQL :: 난이도 3 문제풀이 1. 복수 국적 메달 수상한 선수 찾기2000년 이후의 메달 수상 기록만 고려했을 때, 메달을 수상한 올림픽 참가 선수 중 2개 이상의 국적으로 메달을 수상한 기록이 있는 선수의 이름을 조회하는 쿼리를 작성. 조회된 선수의 이름은 오름차순으로 정렬.SELECT A.NAMEFROM RECORDS R LEFT JOIN ATHLETES A ON R.ATHLETE_ID = A.ID LEFT JOIN GAMES G ON R.GAME_ID = G.ID LEFT JOIN TEAMS T ON R.TEAM_ID = T.IDWHERE G.YEAR >= 2000 AND R.MEDAL IS NOT NULLGROUP BY R.ATHLETE_IDHAVING COUNT(DISTINCT T.TEAM) > 1OR.. 2025. 3. 25.
SolveSQL :: 난이도 2 문제풀이 1. 두 테이블 결합하기역대 올림픽 정보 데이터셋은 역대 올림픽 경기와 관련된 데이터가 들어있는 테이블로 이루어져 있습니다. athletes 테이블에는 역대 올림픽 참가 선수의 이름이 들어 있습니다. events 테이블에는 종목과 경기 이름이 들어 있습니다. games 테이블에는 올림픽 개최 연도, 개최 도시와 시즌 정보가 기록되어 있습니다. records 테이블에는 역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보가 기록되어 있습니다. 이 테이블은 다른 테이블과 매핑할 수 있는 ID 정보도 가지고 있습니다. teams 테이블에는 국가 정보가 기록되어 있습니다. 위 테이블 중 events 테이블과 records 테이블을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주.. 2025. 3. 25.
SolveSQL :: 난이도 1 문제풀이 1. 모든 데이터 조회하기points 테이블은 프란시스 앤스컴이 만든 Anscombe's quartet 데이터를 담고 있습니다. 이 데이터는 quartet 컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 시각화하면 전혀 다른 분포를 가지는 특징이 있습니다. points 테이블에 있는 모든 데이터를 조회하는 쿼리를 작성해주세요.SELECT *FROM POINTS; 2. 일부 데이터 조회하기points 테이블은 프란시스 앤스컴이 만든 Anscombe's quartet 데이터를 담고 있습니다. 이 데이터는 quartet 컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 .. 2025. 3. 25.
[SolveSQL] 복수 국적 메달 수상한 선수 찾기 문제 : 2000년 이후 메달 수상한 선수 중 2개 이상 국적으로 메달 수상한 사람 https://solvesql.com/problems/multiple-medalist/ 사용할 테이블과 내용 athletes : 역대 올림픽 참가자 선수의 이름 events : 종목과 경기 이름 games : 올림픽 개최 연도, 개최 도시와 시즌 정보 records : 신체 정보, 메달 정보, id teams : 국가 정보 1. 필요한 테이블끼리 join left outer join으로 하니까 오류 발생 오류 내용 : RIGHT and FULL OUTER JOINs are not currently supported 해결 방법 : 외부조인은 중간에 값이 비어도 테이블이 결합되지만, 내부조인은 모든 데이터가 있어야 함. 즉,.. 2022. 3. 18.
[SolveSQL] 할부는 몇 개월로 해드릴까요? 문제 : 신용카드로 주문한 내역을 할부 개월 수 별로 주문 수, 최소 결제 금액, 최대 결제 금액, 평균 결제 금액 집계 https://solvesql.com/problems/installment-month/ 사용할 테이블과 내용 olist_order_payments_dataset : 주문 ID, 결제 방법, 할부 개월 수, 결제 금액 1. 결제 방법을 확인하기 위해 아래 코드로 확인 신용카드로 주문한 것을 셀에 어떻게 표현했는지 확인하기 위해 아래 코드로 확인 (credit_card) select payment_type from olist_order_payments_dataset limit 10; 2. 출력할 컬럼 작성 payment_installments : 할부 개월 수 order_count : d.. 2022. 3. 18.
[SolveSQL] 쇼핑몰의 일일 매출액과 ARPPU 문제 : 2018년 1월 1일 이후 일별로 집계된 쇼핑몰의 결제 고객 수, 매출액, ARPPU 계산 https://solvesql.com/problems/daily-arppu/ 사용할 테이블과 내용 olist_orders_dataset : 주문 ID, 고객 ID, 주문 상태, 구매 시각 olist_order_payments_dataset : 주문 ID, 결제 방법, 결제 금액 1. 매출 날짜 확인을 위해 아래 코드로 확인 order_purchase_timestamp 데이터가 5000개 이상은 출력되지 않아 10개로 limit를 걸어줌 결과는 2016-09-05 00:15:34 와 같은 데이터임을 확인 select order_purchase_timestamp from olist_orders_dataset .. 2022. 3. 18.