[문제 링크] https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차..
UNION 란? 간단하게, 두 테이블의 '합집합'을 조회하는 것이다. 언제 사용하는가? 두 엔티티(테이블)가 하나의 엔티티(테이블)로 통합되어야 할 경우에 사용한다. 가장 연습될만한 예제를 첨부할테니, 꼭 한 번씩 풀어보시기 바란다. [프로그래머스 131537 문제] https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 결론 간단하게 '중복 제거 유뮤'에 따라 갈린다. UNION : 중복을 제거해준다. UNION ALL : 중복을 제거하지 않는다.
문제ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요.[요약]동일 회원이 동일 상품을 재구매한 데이터를 회원ID와 상품ID를 컬럼으로 지정하여 출력(단, 정렬 1순위-회원ID, 2순위-상품ID정답SELECT USER_ID, PRODUCT_ID -- 조건의 유저와 상품 ID를 컬럼으로 지정FROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_ID -- 동일한 유저가 동일한 상품을 구매한 것을 출력해야 하니, 유저-상품을 그룹핑HAVING COUNT(*) > 1 ..
그룹화 짓다? 우리가 데이터를 그룹 짓는 이유가 무엇일까? 데이터일 뿐인 조각들을 그룹지어 유의미한 정보를 만들어내기 위함이다. 유의미한 정보 중에서도 GROUP BY의 용도는 데이터를 집계하는 데 특화되어 있는데 때문에 GROUP BY는 반드시 집계 함수, 그룹 함수와 함께 사용해야 한다는 주의점이 있다. 아래의 쿼리문이 가장 GROUP BY의 특성을 잘 보여주는 사례라고 생각해서 준비해봤다. SELECT ProductID, SUM(Quantity) AS QuantitySum -- 2. 상품ID별 판매량의 총계를 구해 QuantitySum이라는 컬럼명으로 표시한다. FROM OrderDetails -- 0. 주문상세 테이블에서! GROUP BY ProductID -- 1. 상품ID로 그룹지어 ORDER..