일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 그로스해킹
- UNION
- 서브쿼리
- GROUPBY
- 코테
- case문
- 프로그래머스
- 문풀
- if문
- 약수구하기
- sql문풀
- with절
- 데이터분석
- SQL
- join
- levle1
- 위키독스
- leetcode
- 파이썬문풀
- 코딩테스트
- 데이터리안
- SQL고득점KIT
- 활성사용자수
- 프로그래머스문풀
- 셀프조인
- leetcode문풀
- 윈도우함수
- SQL테스트
- 파이썬
- mysql
- Today
- Total
목록2024/04 (20)
꿈은 데이터분석가, 취미는 계획
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/284528 문제(일부): 평가등급과 성과금, 평가자 정보 조회 평가등급은 상,하반기 평균점수, 성과금 비율은 평가등급에 따라 부여됨 1. WITH절 사용 1) 상, 하반기 평균점수를 구하는 WITH절 생성 2) CASE WHEN 구문으로 1)의 평균 점수에 따라 평가등급과 성과금 비율 부여 3) 2)의 with절과 평가자 테이블을 JOIN하여 정보조회 WITH AVG_SCORE AS( SELECT EMP_NO, AVG(SCORE) AS AVG_SCORE FROM HR..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 언어별 개발자 분류하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/276036 문제(일부): 2개의 테이블 정보를 활용하여 보유한 스킬별로 등급부여 0.BIT_OR 집계함수 이해하기 여러 사용자의 권한을 그룹별로 합쳐서 최대 권한을 계산할 수 있음 부서 ID가 10인 경우, 권한 1, 2, 4가 있는데, 이를 OR 연산하면 1 | 2 | 4 = 7이 됩니다. 즉, 읽기, 쓰기, 실행 권한 모두 있습니다. 부서 ID가 20인 경우, 권한 3과 6을 OR 연산하면 3 | 6 = 7이 되므로 같은 권한을 가지게 됩니다. CREATE TABLE UserPermissions..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 조건에 맞는 사원정보 조회하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/284527 문제(일부): 2022년 상/하반기 평가 점수의 합이 가장 높은 사원을 출력 1. GROUP BY 활용하기 1)필요한 정보를 조회하기 위해 2개 테이블 JOIN 2) 상/하반기 점수를 합하기 위해 직원ID(HE.EMP_NO)로 GROUP BY 하여 SUM(HG.SCORE) 3) LIMIT 1으로 가장 높은 점수 직원 확인 SELECT SUM(HG.SCORE) AS SCORE, HE.EMP_NO, HE.EMP_NAME, HE.POSITION, HE.EMAIL FROM HR_EMPLO..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 입양 시각 구하기(2) 링크: https://school.programmers.co.kr/learn/courses/30/lessons/59413 문제(일부): 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회 0. 재귀쿼리 활용하기 0~23시까지 입양이 발생하지 않은 경우 0으로 count해야 함 1) 재귀쿼리를 활용해서 0~23을 만들기 2) right join으로 발생횟수 count *재귀쿼리 with절에 첫번째 select문은 1회만 실행,초기값with절의 두번째 select문은 where조건을 만족할 때까지 반복 => 0~23까지의 열 생성 with recursive time as ( select 0 as..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/151139#qna 문제(일부): 특정기간동안 총 대여횟수가 5회 이상인 자동차들에 대해서(그룹 필터링1), 월별 자동차 ID별 총 대여횟수(그룹 필터링2) 1. 서브쿼리 활용하기 서브쿼리에 그룹 필터링1의 조건을 넣고 메인쿼리에 그룹필터링 2의 조건을 넣음, where절에 그룹필터링 1과 일치하는 CAR_ID사용 SELECT MONTH(START_DATE) MONTH, CAR_ID, COUNT(*) RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_H..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 식품 분류별 가장 비싼 식품의 정보 조회하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/131116문제(일부): 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회, 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력 서브쿼리 활용하기서브쿼리에 카테고리별 제일 비싼 가격을 조회메인쿼리에서 서브쿼리와 일치하는 카테고리와 가격을 조회* 서브쿼리 없이 카테고리로 group by 후 MAX(PRICE)를 쓸 경우 최대 가격은 맞지만 카테고리나 제품 이름은 일치xSELECT CATEGORY , PRICE AS MAX_PRICE ..