2025/04 3

[MySQL] 프로그래머스 오프라인/온라인 판매 데이터 통합하기

문제:2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력- OFFLINE_SALE 테이블의 판매데이터의 USER_ID 값은 NULL 로 표시- 결과는 판매일을 기준으로 오름차순, 상품 ID 를 기준으로 오름차순, 유저 ID 를 기준으로 오름차순 정렬 해결방법:1. 판매일은 WHERE BETWEEN 으로 조건 설정2. 판매 날짜는 DATE_FORMAT() 으로 형식 설정3. 오프라인과 온라인 상품 판매 테이블을 UNION ALL4. ORDER BY 로 정렬 순서 설정 예시코드:(SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNTFROM ONLINE_S..

[SQL] 연습 2025.04.05

[MySQL] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기

문제:리뷰를 가장 많이 작성한 회원의 리뷰들을 조회- 회원 이름, 리뷰 텍스트, 리뷰 작성일을 출력- 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 텍스트를 기준으로 오름차순 해결방법:1. 회원별 리뷰수를 구한 뒤 최대값 구하기2. 리뷰 수 최대값을 갖는 회원 구하기3. 회원 이름과 회원 ID 로 조인4. 리뷰 테이블에서 이전에 구한 가장 많이 작성한 회원 리스트와 비교(조건)5. 정렬 조건 설정하기 예시 코드:SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') REVIEW_DATEFROM MEMBER_PROFILE MINNER JOIN REST_REVIEW RON M.MEMBER_ID = R.MEMBER_IDWHERE M.MEMB..

[SQL] 연습 2025.04.04

[MySQL] 프로그래머스 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기

문제:사원별 성과금 정보 조회- 사번, 성명, 평가 등급, 성과금 조회- 사번 기준 오름차순 해결방법:1. 점수에 따른 평가 등급, 평가 등급에 따른 성과금 계산 시 CASE 문 사용2. 사원별 평가 등급 조회를 위해 GROUP BY 로 SCORE 에 대한 AVG 계산3. 사원 정보 테이블을 INNER JOIN 예시 코드:SELECT EMP.EMP_NO, EMP_NAME, G.GRADE, (CASE WHEN G.GRADE = 'S' THEN SAL * 0.2 WHEN G.GRADE = 'A' THEN SAL * 0.15 WHEN G.GRADE = 'B' THEN SAL * 0.1 ELSE SAL * 0 END) AS BONUSFROM HR_EMPLOYEES EMPINNER JO..

[SQL] 연습 2025.04.01