SQL 29

SQL 코드카타: 상품을 구매한 회원 비율 구하기

상품을 구매한 회원 비율 구하기USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, COUNT(DISTINCT USER_ID) AS PURCHASED_USERS, -- 2021..

SQL 2025.01.07

SQL 코드카타: 자동차 대여 기록 별 대여 금액 구하기

자동차 대여 기록 별 대여 금액 구하기CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과  CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액(컬럼명: FEE)을 구하여 대여 기록 ID와 대여 금액 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 대여 기록 ID를 기준으로 내림차순 정렬해주세요.1. TRUCK_LIST 테이블 만들기: '트럭'인 자동차의 대여기록에 대한 테이블WITH TRUCK_LIST AS ( SELECT HS.HISTORY_ID, ..

SQL 2025.01.06

SQL 코드카타 오답: JOIN과 LEFT JOIN의 중요성 | 여러가지 JOIN 조건 부여하기 | 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기

[특정 기간동안 대여 가능한 자동차들의 대여비용 구하기]CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정..

SQL 2024.12.23

SQL 코드카타 오답: WITH RECURSIVE()

입양 시각 구하기(2)보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.-- 반복문을 통한 테이블 생성WITH RECURSIVE Hours AS ( -- 베이스 케이스: 재귀의 시작점 SELECT 0 AS HOUR -- 시작값을 0으로 설정 UNION ALL -- 재귀 케이스: 이전 결과를 기반으로 반복적으로 데이터 생성 SELECT HOUR + 1 FROM Hours WHERE HOUR 없는 시간 생성 SELECT HOUR(DATETIME) AS HOUR FROM..

SQL 2024.12.20

QCC 2회차: DISTINCT | <> | CASE WHEN | DATE()

1.  이메일 프로모션 캠페인 동의한 고객 수Person_Person테이블 사용이메일 프로모션에 동의한 고객해당 고객들 중 개인(소매) 고객의 수-- 내가 작성한 코드 수정-- 고객의 수를 구해야 하기 때문에 DISTINCT 해줘야함-- EmailPromotion = 1 OR 2는 xSELECT COUNT(DISTINCT BusinessEntityID) customer_countFROM Person_PersonWHERE (EmailPromotion = 1 OR EmailPromotion = 2) AND PersonType = 'IN';-- 정답-- 0: 0이 아닌SELECT COUNT(DISTINCT BusinessEntityID) customer_countFROM Person_PersonWHERE (E..

SQL 2024.12.20

SQL 코드카타 오답: 동일한 조건의 대상자가 여러명인 경우 | UNION ALL | NULL값 처리 | 테이블마다 컬럼명의 의미가 다른 경우

[그룹별 조건에 맞는 식당 목록 출력하기]MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요.-- 리뷰를 가장 많이 작성한 회원이 1명인 경우SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATEFROM MEMBER_PROFILE MJOIN REST_REVIEW R ON M.MEMBER_ID = R.MEMBER_IDWHERE M.MEM..

SQL 2024.12.18

SQL 코드카타 오답: WHERE에서 두 가지 조건 부여하기 | SUM

[저자 별 카테고리 별 매출액 집계하기]2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.SELECT A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY, SUM(B.PRICE * S.SALES) TOTAL_SALES -- SUM을 해줘야 합계를 구할 수 있음FROM BOOK BJOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR..

SQL 2024.12.17

QCC 1회차: WINDOW 함수 | RANK | 상관 서브쿼리 | 2번 JOIN하기 | 우선순위 부여

전년도 GNP가 없거나 전년 대비 GNP가 감소한 국가 중 인구가 10,000,000명 이상인 국가의 수-- 내가 작성한 쿼리-- 문제를 잘 읽자..!SELECT GNP, GNPOld, Population FROM (SELECT GNP, GNPOld, PopulationFROM countryWHERE GNPOld IS NULL OR GNP = 10000000;-- 정답-- 숫자에 , 적으면 안됨....!-- or 구문이 먼저 실행될 수 있도록 ()를 삽입해주면 위 쿼리처럼 서브쿼리를 쓸 필요xSELECT COUNT(DISTINCT code) AS country_countFROM countryWHERE (GNP - GNPOld = 10000000; -- 34 각 대륙에서 가장 인구가 많은 도시의 CityN..

SQL 2024.12.13

SQL 코드카타 오답: CONCAT | FROM절 안에서 JOIN하기

!!!내가 맞는 것같을 때는 질문하기 확인해보기!!![조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기]USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다.-- 내가 짠 쿼리SELECT CONCAT("/home/grep/src/", f.BOARD_ID, "/", f.FILE_ID, f.FILE_NAME, f..

SQL 2024.12.11