SQL

문제 출저https://leetcode.com/problems/queries-quality-and-percentage/?envType=study-plan-v2&envId=top-sql-50    문제 풀이Queries 테이블로 query_name, result, position, rating이 주어집니다. 이 열들을 조합하고 계산하여 quality와 poor_query_percetage를 구합니다. 각각의 식은 다음과 같습니다.  quality : rating과 position의 비율 (rating / position)poor_query_percentage : rating이 3 미만인 쿼리의 전체 쿼리 비율  이것은 query_name별로 구하면 됩니다. 수식을 계산하기 위해 avg, sum, if, c..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/144855 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이2022년 1월 카테고리 별 도서 판매량을 합산하고 카테고리, 총 판매량 리스트를 출력하는 SQL문을 작성해 주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요. 도서 정보가 담긴 BOOK 테이블과 각 도서의 날짜 별 판매량 정보가 담긴 BOOK_SALES 테이블을 BOOK_ID를 기준으로 조인합니다.BOOKS_SALES 테이블에 WHERE 절로 2022년 1월을 선택합..
문제 출저https://leetcode.com/problems/percentage-of-users-attended-a-contest/?envType=study-plan-v2&envId=top-sql-50   문제 풀이각 콘테스트에 등록된 사용자 비율을 소수점 이하 두 자리로 표현해야 합니다.  Register 테이블에 contest_id를 group by로 그룹화하여 각 콘테스트 별로 참여한 유저의 수를 구합니다. Users에서 전체 유저 갯수를 구합니다. 전체 유저 갯수를 나누어 비율을 구하고 round를 통해 소수점 이하 두 자리로 표현합니다.    SQL# 각 콘테스트에 등록된 사용자 비율을 소수점 이하 두 자리 반올림 select r.contest_id, round( count(u.u..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이REST_INFO 테이블에서 음식 종류 별로 즐겨찾기 수가 가장 많은 식당의 정보를 음식 종류를 기준으로 내림차순해서 조회합니다.  음식종류별로 즐겨찾기 수가 가장 많은 식당을 선택해야 합니다. WHERE에서 IN을 이용합니다. 서브쿼리를 통해 종류별로 즐겨찾기가 많은 수를 찾아 FOOD_TYPE, FAVORITES를 반환하고 REST_INFO에서 해당 레코드의 데이터를 출력합..
문제 출저https://leetcode.com/problems/project-employees-i/description/?envType=study-plan-v2&envId=top-sql-50   문제 풀이각 프로젝트에 대해 모든 직원의 평균 경력 연수를 두 자리 숫자로 반올림하여 조회합니다.  프로젝트 별로 계산을 진행합니다. 그러므로 project를 기준으로 left join 하여 employee 테이블을 관계를 맺습니다. group by, average로 프로젝트 별 평균 연령을 구합니다.round 사용하여 두 자리 숫자로 반올림합니다.    SQL# 각 프로젝트에 대한 모든 직원의 평균 경력 연수를 # 두 자리 숫자로 반올림하여 조회select p.project_id, round(avg(..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/133026 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이각 아이스크림에 성분 타입에 대한 총주문량 구하고 총 주문량이 작은 순서대로 조회합니다. 성분 타입 별로 총 주문량은 GROUP BY, SUM을 사용합니다.작은 순서대로 조회하기 위해 ORDER BY를 사용합니다.    SQLSELECT I.INGREDIENT_TYPE, SUM(F.TOTAL_ORDER) AS TOTAL_ORDERFROM FIRST_HALF..
문제 출저https://leetcode.com/problems/average-selling-price/description/?envType=study-plan-v2&envId=top-sql-50    문제 풀이각 제품의 평균 판매 금액을 구해야 합니다. Prices 테이블에는 날짜 범위에 해당하는 가격이 UnitsSold 테이블에는 상품, 판매날짜, 갯수가 표시되어 있습니다.  Prices와 UnitsSold를 left join 합니다. 조인 조건은 product_id 같은 것, 그리고 Between을 이용해 판매 날짜가 Prices의 날짜 사이에 있도록 합니다. sum(price * units)을 통해 전체 금액과 sum(units)을 통해 총 판매량을 구하고 전체 금액에서 총 판매량을 나누어 평균을 ..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차WHERE 절에 IN과 서브쿼리를 활용하여 CAR_ID를 선택서브쿼리는 BETWEEN 2022-08, 2022-10 선택, CAR_ID로 그룹화하고 HAVING을 통해 5보다 큰 것을 선택한다. 월별 자동차 ID별 총 대여 횟수GROUP BY로 MONTH, CAR_ID를 그룹화총 대여 횟수를 HAVING..
문제 출저https://leetcode.com/problems/not-boring-movies/description/?envType=study-plan-v2&envId=top-sql-50    문제 풀이ID가 홀수이고 description이 boring이 아닌 것을 선택하고 rating을 기준으로 내림차순 정렬하는 SQL을 작성해야 합니다.  where 절을 이용해 id % 2 = 1 홀수를 선택합니다. description != 'boring' 으로 boring이 아닌 것을 선택합니다.order by rating desc를 이용해 내림차순 정렬을 합니다.    SQL# id가 홀수이고 boring이 아닌 것 선택# rating 기준 내림차select id, movie, descripti..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이CAR_RENTAL_COMPANY_CAR 테이블에서 통풍시트, 열선시트, 가죽시트 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL 문을 작성해야 합니다.  OPTIONS 열에는 다양한 데이터가 ,로 구분되어 들어가 있습니다.WHERE LIKE를 이용해 옵션이 포함된 자동차를 찾습니다.GROUP BY를 통해 자동차 종류 별로 그룹화하고 COUN..
문제 출저https://leetcode.com/problems/confirmation-rate/?envType=study-plan-v2&envId=top-sql-50   문제 풀이각 유저의 확인 비율을 구해야 합니다. 확인 비율은 확인(confirmed) / 전체 메일 입니다.  모든 유저를 나타내기 위해서 left join을 합니다. Singups, Confirmations 조인하여 user_id로 그룹화 합니다. 집계함수 sum과 조건문 if를 이용하여 confirmed의 갯수를 구합니다.count를 통해 전체 갯수를 구합니다.round를 통해 소수점 2자리를 표시하도록 합니다.    SQLselect s.user_id, round(sum(if(c.action = 'confirmed', ..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이USED_GOODS_BOARD B, USED_GOODS_USER U 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총 거래 금액을 조회하는 SQL문을 작성해야 합니다. 총 거래 금액을 기준으로 오름차순 정렬합니다.  두 개의 테이블을 B.WRITER_ID와 U.USER_ID로 조인을 맺습니다. 이때 B.STATUS = 'DONE' 을 하여..
너지살
'SQL' 카테고리의 글 목록