Dev Hyeri

◖코딩 테스트◗▬▬▬▬▬▬▬▬▬ 62

[SQL KIT] (2024) NULL 처리하기(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59410 정상 코드. 방법 1.COALESCE 사용 SELECT ANIMAL_TYPE, COALESCE(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 방법 2. IFNULL사용 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 방법 3. CASE표현식 사용 SELECT ANIMAL_TYPE, CASE WHEN NAME IS NULL THEN 'No name' EL..

[SQL KIT] (2024) 입양 시각 구하기(2)(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59413 [목차] 1. 정상 코드 - 방법 1. 번호 붙이기 함수 ROW_NUMBER() 사용 - 방법 2. 재귀 CTE 사용 - 방법 3. 변수(@num)를 사용( 반복문과 유사한 효과 사용) 2. 0~23 정수 테이블 만드는 방법 3. Advanced. CTE, SET 정상 코드. 방법 1. 번호 붙이기 함수 ROW_NUMBER() 사용 SELECT HOUR, COUNT(ANIMAL_ID) AS COUNT FROM ( SELECT (ROW_NUMBER() OVER () - 1) AS HOUR FROM ANIMAL_OUTS LIMIT 24) AS 24NUM_TABLE LEFT JOIN..

[SQL KIT] (2024) 입양 시각 구하기(1)(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59412 정상 코드. SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT FROM ANIMAL_OUTS WHERE HOUR(DATETIME) BETWEEN '9' AND '19' GROUP BY HOUR ORDER BY HOUR 내부 동작 순서 1. FROM 절 FROM ANIMAL_OUTS: ANIMAL_OUTS 테이블에서 데이터를 추출합니다. 2. WHERE 절 '09:00:00'부터 '19:59:59'까지의 시간 범위에 해당하는 레코드를 선택 (문제의 조건인 09:00부터 19:59까지'와 '09:00:00부터 19:59:59까지'는 시간상으로 ..

[SQL KIT] (2024) 년, 월, 성별 별 상품 구매 회원 수 구하기(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131532 정상 코드. SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, GENDER, COUNT(DISTINCT USER_ID) AS USERS FROM ONLINE_SALE JOIN USER_INFO USING (USER_ID) WHERE GENDER IS NOT NULL GROUP BY YEAR, MONTH, GENDER ORDER BY YEAR, MONTH, GENDER 내부 동작 순서 1. FROM 절 ONLINE_SALE 테이블과 USER_INFO 테이블을 USER_ID를 사용하여 조인합니다. 2. WHERE 절 GE..

[SQL KIT](2024) 식품분류별 가장 비싼 식품의 정보 조회하기(설명/코드/정답)

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/131116 정상 코드. 방법 1. 상관 서브 쿼리 사용 SELECT CATEGORY, PRICE, PRODUCT_NAME FROM FOOD_PRODUCT F WHERE CATEGORY IN('과자', '국', '김치', '식용유') AND PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT AS S WHERE S.CATEGORY = F.CATEGORY) ORDER BY PRICE DESC 방법 2. 윈도우 함수 사용 SELECT CATEGORY, PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE CATEGORY IN('과자', '국..

[SQL KIT] (2024) 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/151139 정상 코드. SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31' AND CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31' GROUP BY CAR_ID HAVING COUNT(*)>= 5) G..

[프로그래머스] 깃허브 자동 커밋 연동(2024)

[ 목차 ] 1. 확장자 설치 2. 깃허브 확장자 연동 3. 자동 커밋 확인 * 백준 깃허브 자동 연동 방법 * 리트코드 leetcode 깃허브 자동 연동 방법 * 백준에서 이미 깃허브를 연동하여 사용하고 있었다면, 바로 3. 자동 커밋 확인으로 넘어가자 1. 확장자 설치 우측 상단 계정 옆의 ⁝ 클릭 - 확장 프로그램 - Chrome웹 스토어 방문하기 우측 상단 [🔍 확장 프로그램 및 테마 검색] 에서 "백준허브" or "BaekjoonHub" 검색 빨간색 박스로 강조한 백준 허브(BeakjoonHub) 클릭 우측 상단 Chrome에 추가 버튼 클릭 팝업창 확장 프로그램 추가 버튼 클릭 팝업창으로 확장 프로그램 설치 완료 확인 2. 깃허브 확장자 연동 우측 상단 퍼즐 아이콘 클릭 - 백준허브(Beakj..

[SQL KIT] (2024) 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(설명/코드/정답)

문제 링크 :https://school.programmers.co.kr/learn/courses/30/lessons/157340 POINT. CASE/WHEN/THEN 사용 가능 '2022-10-16' BETWEEN START_DATE AND END_DATE 작성 가능 코드. SELECT CAR_ID, MAX(CASE WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중' ELSE '대여 가능' END) AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY CAR_ID DESC; 내부 동작 순서 1. FROM 절 FROM 절 : CAR_RENTAL_COMPANY_..

[SQL KIT] (2024) 즐겨찾기가 가장 많은 식당 정보 출력하기(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131123 코드1. 서브쿼리 + 조인 사용 SELECT R1.FOOD_TYPE, R1.REST_ID, R1.REST_NAME, R1.FAVORITES FROM REST_INFO R1 JOIN ( SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES FROM REST_INFO GROUP BY FOOD_TYPE ) R2 ON R1.FOOD_TYPE = R2.FOOD_TYPE AND R1.FAVORITES = R2.FAVORITES ORDER BY R1.FOOD_TYPE DESC; 코드2. 윈도우 함수 사용 SELECT FOOD_TYPE, REST_ID, REST..

[SQL KIT] (2024) 오프라인/온라인 판매 데이터 통합하기(설명/코드/정답)

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131537 POINT. 날짜 함수 UNION 코드. SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE SALES_DATE LIKE ('2022-03%') UNION SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE WHERE SALES_DATE LIKE ('2022-03%')..