반응형

SQL/프로그래머스 SQL 12

MySQL NULL값 처리, IFNULL 사용법 (프로그래머스 경기도에 위치한 식품창고 목록 출력하기)

이 글은 IFNULL 사용법과 이를 활용한 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. MySQL NULL값 처리, IFNULL 사용법 MySQL에서 NULL값을 처리하는 방법 중 가장 편리한 IFNULL 사용법은 다음과 같다. select IFNULL(컬럼명,"NULL일 때 출력 값") from 테이블명; select IFNULL(컬럼명, "NULL일 때 출력 값") 해당 컬럼에 NULL값이 있다면, 어떤 값으로 출력할 것인지 입력한다. 문자는 쌍따옴표로 감싸준다. ex. "문자" 숫자는 그냥 입력하면 된다. ex. 10 MySQL IFNULL 사용법 (프로그래머스 경기도에 위치한 식품창고 목록 출력하기) 간단한 IFNULL 사용법을 프로그래머스의 경기도 위..

MySQL 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 💡음식 종류, 음식 종류ID, 식당명, 즐겨찾기 수 출력하기 음식 종류별 즐겨찾기 수 가장 많은 식당 정보 출력 음식 종류 기준 내림차순 정렬 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 답 💡 문제 포인트: 음식 종류별 즐겨찾기 수 가장 많은 식당 필터링 with a as( select max(favorites) as m from rest_info group by food_type ) select b.FOOD_TYPE , b.REST_ID , b.REST_NAME , b.FAVORITES from rest_info as b, a where..

MySQL 프로그래머스 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 자동차 종류별 특정 옵션이 포함된 자동차 수 구하기 문제 💡 자동차 종류, 종류별 대 수 출력하기 자동차 옵션: 통풍시트/열선시트/가죽시트 중 하나 이상 포함해야 함 자동차 종류 오름차순 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 답 💡 문제 포인트: 자동차의 특정 옵션 키워드 필터링하기 select CAR_TYPE , count(car_id) as CARS from CAR_RENTAL_COMPANY_CAR where options regexp('열선시트|통풍시트|가죽시트') group by CAR_TYPE order by CAR_TYPE; 단순하게 생각하면 LIKE OR을 사용할 수 있으나, 쿼..

MySQL 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 문제 💡 회원 ID, 상품 ID 출력하기 동일 회원이 동일 상품을 재구매한 경우만 출력 회원 ID 오름차순, 상품 ID 내림차순 정렬 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 답 💡 문제 포인트: 동일 상품을 재구매한 동일 회원 출력 select USER_ID , PRODUCT_ID from ONLINE_SALE group by USER_ID, PRODUCT_ID having count(USER_ID) >= 2 and count(PRODUCT_ID) >= 2 order by USER_ID, PRODUCT_ID desc; 1. 유저별 구매 ..

MySQL 프로그래머스 서울에 위치한 식당 목록 출력하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 서울에 위치한 식당 목록 출력하기 문제 💡식당 id, 식당 이름, 음식 종류, 즐겨찾기 수, 주소, 리뷰 평균 점수 가져오기 리뷰 평균 점수: 소수 세 번째 자리에서 반올림 리뷰 평균 점수 내림차순, 즐겨찾기 수 내림차순 정렬 프로그래머스 서울에 위치한 식당 목록 출력하기 답 💡 본 문제의 포인트: 두 테이블 조인, select 활용 select a.rest_id as REST_ID , REST_NAME , FOOD_TYPE , FAVORITES , ADDRESS , b.avg_s as SCORE from rest_info as a , (select rest_id , round(avg(revie..

MySQL 프로그래머스 상품을 구매한 회원 비율 구하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 상품을 구매한 회원 비율 구하기 문제 문제 의도: JOIN 사용 2021년 가입 회원 수, 2021년 가입 회원 수 중 구매 회원 수 구하기 (21년 가입 회원 중) 년, 월 별 구매 회원 비율 구하기 구매 회원 비율은 소수점 두 번째 자리 반올림 년, 월 기준 오름차순 정렬 프로그래머스 상품을 구매한 회원 비율 구하기 답 WITH 사용 처음에는 스칼라 서브쿼리/인라인뷰 사용을 생각. 그런데 생각보다 지저분하고 에러도 내서, WITH를 선택. YEAR 함수 사용 DATE_FORMAT 사용 joined와 sales_date 컬럼의 데이터 타입이 날짜 정보만 입력하는 date였고, 원데이터에서도 시..

MySQL 프로그래머스 SQL 고득점 Kit 입양 시각 구하기(1) 문제 답

프로그래머스 SQL 고득점 Kit 입양 시각 구하기(1) 문제, 답 공유합니다. *MySQL 버전입니다. 프로그래머스 입양 시각 구하기(1) 문제 및 예시 입양 시간 09:00~19:59까지 시간 별 입양 건 수 출력. 시간 순 정렬. 시간 컬럼 HOUR, 건 수 컬럼 COUNT 별칭 사용. 프로그래머스 입양 시각 구하기(1) 답 SELECT HOUR(datetime) HOUR, COUNT(datetime) COUNT FROM animal_outs WHERE HOUR(datetime) BETWEEN 9 AND 19 GROUP BY 1; ORDER BY 1; 입양 시각 구하기(1) 답 추가 정리 #비교연산자 사용 SELECT HOUR(datetime) HOUR, COUNT(datetime) COUNT FR..

MySQL 프로그래머스 SQL 고득점 Kit 고양이와 개는 몇 마리 있을까 문제 답

프로그래머스 SQL 고득점 Kit '고양이와 개는 몇 마리 있을까' 문제, 답을 공유합니다. *이 글은 MySQL 버전입니다. 고양이와 개는 몇 마리 있을까 문제 설명 문제 설명의 특별한 점은 없어 보입니다. 고양이와 개는 몇 마리 있을까 문제 문제 의도: GROUP BY 사용. 동물 중 고양이와 개의 수만 조회. 개보다 고양이가 먼저 오도록 정렬 필요. 고양이와 개는 몇 마리 있을까 답 여러 개(cat, dog)를 선택하기 위해 IN 사용. 동물 별 수를 카운트해야 하므로, GROUP BY animal_type 사용. 고양이 Cat, 강아지 Dog이므로 오름차순 ASC 사용했으나 생략함. 문제 예시에 따라, COUNT(animal_type)을 count로 별칭 사용. SELECT animal_type,..

MySQL 프로그래머스 SQL 고득점 Kit 동명 동물 수 찾기 문제 답

프로그래머스 SQL 고득점 Kit SELECT에서 '동명 동물 수 찾기' 문제와 답을 공유합니다. *저는 MYSQL 버전입니다. 프로그래머스 동명 동물 수 찾기 문제 설명 프로그래머스 동명 동물 수 찾기 문제 문제 의도: GROUP BY 사용. 두 번 이상 쓰인 이름, 해당 이름 횟수 출력. 동물 이름에서 NULL 제외. 동물 이름 순 정렬. 프로그래머스 동명 동물 수 찾기 답 이름 별 카운트 필요하므로 COUNT(name), GROUP BY name, 예시에 따라 별칭 COUNT. 이름 없는 동물 집계 제외이므로, name IS NOT NULL. 두 번 이상 쓰인 이름 조회이므로 COUNT(name) >= 2. 이때 name그룹화가 선실행 되었고 name 에 조건을 걸어야 하기에, HAVING사용. 만..

MySQL 프로그래머스 SQL 고득점 Kit 성분으로 구분한 아이스크림 총 주문량 문제 답

프로그래머스 SQL 고득점 Kit SELECT에서 '성분으로 구분한 아이스크림 총 주문량' 문제와 답입니다. *이 글은 MySQL 버전입니다. 성분으로 구분한 아이스크림 총 주문량 문제 설명 문제 의도: GROUP BY 사용 외래키가 참조하는 대상은 해당 테이블에서 기본키이다. 그래서 ICECREAM_INFO테이블의 FLAVOR가 기본키이다. 성분으로 구분한 아이스크림 총 주문량 문제 성분 타입, 성분 타입 별 총 주문량(별칭 필요, TOTAL_ORDER) 출력. 총 주문량 작은 순서 정렬. 성분으로 구분한 아이스크림 총 주문량 답 # 두 테이블의 컬럼들 가져오기 first_half와 icecream_info 두 테이블 선택, 편의상 a와 b로 별칭. first_half와 icecream의 공통값 fla..

반응형
top