[프로그래머스 SQL] Lv.4 - 연간 평가점수에 해당하는 평가 등급 및 성과금조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/284528 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 조인한다.이때 HR_GRADE 테이블은 서브 쿼리로 평가 등급을 구해야 한다. 사번을 기준으로 그룹핑하고, 평가 점수의 평균에 따라 S, A, B, C 중 하나로 조회한다.사번, 성명, 평가 등급, 성과금을 조회한다. 성과금은 서브 쿼리에서 조회한 등급에 맞게 알맞은 값으로 계산해 준다.사번을 기준으로 오름차순 정렬한다.SELECT E.EMP_NO, E.EMP_NAME..
[프로그래머스 SQL] Lv.4 - 언어별 개발자 분류하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/276036 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이DEVELOPERS 테이블과 SKILLCODES 테이블을 조인한다. 이때 ON 조건에 CODE와 SKILL_CODE를 AND 연산하면 SKILL_CODE에 해당하는 모든 CODE를 가져올 수 있다.ID와 EMAIL을 기준으로 그룹핑한다. 이때 아무런 GRADE를 가지고 있지 않은 행이 있을 수 있기 때문에 HAVING절에서 필터링해준다.GRADE와 ID, EMAIL을 조회한다. GRADE는 GROUP_CONCAT 키워드를 사용해서 그룹..
[프로그래머스 SQL] Lv.4 - 입양 시각 구하기(2)
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이재귀 쿼리를 연습해 볼 수 있는 문제인 것 같다.재귀 쿼리로 0시에서 23시까지 생성하는 테이블을 만든다.재귀 쿼리로 만든 가상의 테이블과 ANIMAL_OUTS 테이블을 조인한다. 이때 입양이 발생하지 않는 경우에도 0건으로 조회해야 하기 때문에 LEFT JOIN으로 조인해 준다.시간대별로 그룹핑한다.시간대와 COUNT 키워드로 시간대별 입양 건수를 조회한다. 이때 LEFT JOIN이기 때문에 IFNULL 키워드를 같이 사용하여 입양 건..
[프로그래머스 SQL] Lv.4 - 년,월,성별 별 상품 구매 회원 수 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/131532 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이USER_INFO 테이블과 ONLINE_SALE 테이블을 조인한다.IN NOT NULL 키워드로 성별 정보가 있는 행만 필터링한다.년, 월, 성별을 기준으로 그룹핑한다.년, 월, 성별을 조회한다. 그리고 COUNT 키워드로 그룹핑된 회원 수를 조회한다. 이때 하나의 회원을 중복 계산하는 것을 방지하기 위해 DISTINCT 키워드로 중복을 제거한다.년, 월, 성별을 기준으로 오름차순 정렬한다.SELECT YEAR(B.SALES_D..
[프로그래머스 SQL] Lv.4 - 식품분류별 가장 비싼 식품의 정보 조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이WHERE 절에서 튜플과 서브쿼리를 사용하여 식품분류별 가격이 제일 비싼 행을 필터링한다.서브쿼리는 식품 분류가 과자, 국, 김치, 식용유인 행을 필터링하여 식품 분류로 그룹핑을 해주고, 식품분류와 MAX 키워드로 가장 비싼 가격을 조회한다.식품 분류와 가격이 서브쿼리에서 조회 결과의 포함되는 행을 필터링한다.식품 분류와 가격, 이름을 조회한다.식품 가격을 기준으로 내림차순 정렬한다.SELECT CATEGORY, PRICE ..
[프로그래머스 SQL] Lv.4 - 저자 별 카테고리 별 매출액 집계하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/144856 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이서브 쿼리로 BOOK 테이블과 BOOK_SALES 테이블을 조인한다.판매일이 2022년 1월인 데이터를 필터링한다.저자와 카테고리를 기준으로 그룹핑한다.저자 ID, 카테고리, SUM 키워드로 저자 별, 카테고리 별 매출액을 조회한다.위의 서브 쿼리 테이블과 AUTHOR 테이블을 조인한다.저자 ID, 저자명, 카테고리, 매출액을 조회한다.저자 ID를 기준으로 오름차순, 카테고리를 기준으로 내림차순 정렬한다.SELECT A.AUTHO..
[프로그래머스 SQL] Lv.3 - 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/298519 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이물고기의 종류를 기준으로 그룹핑한다. 이때 HAVING 조건으로 평균 길이가 33cm 이상인 그룹만 필터링한다. 10cm 이하는 NULL이기 때문에 IFNULL 키워드를 함께 사용한다.COUNT 키워드로 종류별 수, MAX 키워드로 종류별 최대 길이, 그리고 물고기의 종류를 조회한다.물고기 종류를 기준으로 오름차순 정렬한다.SELECT COUNT(*) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH,..
[프로그래머스 SQL] Lv.3 - 부서별 평균 연봉 조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/284529 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이HR_DEPARTMENT 테이블과 HR_EMPLOYEES 테이블을 조인한다.부서를 기준으로 그룹핑한다.부서 ID, 영문 부서명, AVG와 ROUND 키워드를 사용해 평균 연봉을 조회한다.평균 연봉을 기준으로 내림차순 정렬한다.SELECT A.DEPT_ID, A.DEPT_NAME_EN, ROUND(AVG(B.SAL)) AS AVG_SALFROM HR_DEPARTMENT AS A JOIN HR_EMPLOYEES..
[프로그래머스 SQL] Lv.3 - 조건에 맞는 사용자와 총 거래금액 조회하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이USED_GOODS_BOARD 테이블과 USED_GOODS_USER 테이블을 조인한다. USED_GOODS_BOARD 테이블의 거래상태가 'DONE'인 행을 필터링한다.회원 ID를 기준으로 그룹핑한다. 이때 HAVING 조건으로 거래 총금액이 70만 이상인 행만 그룹핑한다.회원 ID, 닉네임, SUM 키워드로 총 거래금액을 조회한다.총 거래금액을 기준으로 오름차순 정렬한다.SELECT B.USER_ID, B.NICKNAM..
[프로그래머스 SQL] Lv.3 - 즐겨찾기가 가장 많은 식당 정보 출력하기
·
SQL/GROUP BY
https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이서브 쿼리로 음식 종류별로 그룹핑하여 MAX 키워드로 즐겨찾기수가 가장 많은 식당을 조회하여 REST_INFO 테이블과 자체 조인한다. 이때 조인 조건은 음식 종류와 즐겨찾기수가 같음으로 한다.음식 종류, ID, 식당 이름, 즐겨찾기수를 조회한다.음식 종류를 기준으로 내림차순 정렬한다.SELECT A.FOOD_TYPE, A.REST_ID, A.REST_NAME, A.FAVORITESFROM REST_IN..