본문 바로가기
728x90

IT/SQL73

[MySQL] 프로그래머스 IS NULL 01 경기도에 위치한 식품창고 목록 출력하기 문제 FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요. 풀이 SELECT WAREHOUSE_ID , WAREHOUSE_NAME , ADDRESS , IFNULL(FREEZER_YN, 'N') FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기도%' ORDER BY WAREHOUSE_ID IFNULL(인수1, 인수2) 인수1이 NULL이면 인수2 출력 NULLIF 하고 헷갈렸다. 2023. 10. 2.
[MySQL] 프로그래머스 GROUP BY 16 가격대별 상품 개수 구하기 문제 PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요. 풀이 SELECT CASE WHEN PRICE BETWEEN 0 AND 19999 THEN 10000 WHEN PRICE BETWEEN 20000 AND 29999 THEN 20000 WHEN PRICE BETWEEN 30000 AND 39999 THEN 30000 WHEN PRICE BETWEEN 40000 AND 49999 THEN 40000 WHEN.. 2023. 10. 1.
[MySQL] 프로그래머스 GROUP BY 15 입양 시각 구하기(2) . 2023. 10. 1.
[MySQL] 프로그래머스 GROUP BY 14 년, 월, 성별별 상품 구매 회원 수 구하기 문제 USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요. 풀이 SELECT YEAR(SALES_DATE) YEAR , MONTH(SALES_DATE) MONTH , U.GENDER , COUNT(DISTINCT U.USER_ID) USERS -- 상품을 구매한 회원수를 집계(중복 제거) FROM USER_INFO U INNER JOIN ONLINE_SALE O ON U.USER_ID = O.USER_ID WHERE U.GENDER IS NOT NULL -- 성별 정보가 없는 경우 결과에서 제외 GROUP BY .. 2023. 10. 1.
[MySQL] 프로그래머스 GROUP BY 13 입양 시각 구하기(1) 문제 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 풀이 SELECT DATE_FORMAT(DATETIME, '%H') HOUR , COUNT(ANIMAL_ID) COUNT FROM ANIMAL_OUTS WHERE DATE_FORMAT(DATETIME, '%H') BETWEEN '09' AND '19' GROUP BY DATE_FORMAT(DATETIME, '%H') ORDER BY HOUR 처음에 '9시부터 19시 사이' 조건을 HAVING 절에 썼다. WHERE절과 HAVING절 헷갈린다. 2023. 10. 1.
[MySQL] 프로그래머스 GROUP BY 12 동명 동물 수 찾기 문제 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. 풀이 SELECT NAME , COUNT(NAME) COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME GROUP BY 이후 필터링은 HAVING 절에서 한다. 2023. 10. 1.
728x90