SQL 26

[SQL][UNION][기본키/외래키] 📍주문량이 많은 아이스크림들 조회하기

주문량이 많은 아이스크림들 조회하기 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이두 테이블이 서로 다른 FLAVOR를 가지고 있는 경우가 있을 수 있음→ FULL OUTER JOIN 으로 전부 합쳐서 보고싶은데 MySQL 은 지원하지 않으므로 UNION 사용UNION한 테이블을 FLAVOR로 그룹핑하여 SUM()으로 TOTAL_ORDER 구함WITH COMBINED AS (SELECT SHIPMENT_ID, FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDERFROM ((SELECT * FROM FIRST_HALF) UNION (SELECT * ..

코딩테스트/SQL 2025.06.10

[SQL][ROUND] 서울에 위치한 식당 목록 출력하기

서울에 위치한 식당 목록 출력하기 내 풀이LIKE '서울특별시%'로 하면 틀림LIKE '서울'로 해야함 명칭이 다른 경우가 있는 듯ROUND(실수, 출력 할 소숫점 자리수)3번째 자리에서 반올림 하려면 ROUND(실수, 2)SELECT I.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND(AVG(REVIEW_SCORE),2) AS SCOREFROM REST_INFO IJOIN REST_REVIEW RON I.REST_ID = R.REST_IDWHERE ADDRESS LIKE '서울%'GROUP BY 1ORDER BY SCORE DESC, FAVORITES DESC

코딩테스트/SQL 2025.06.10

[SQL] 5월 식품들의 총매출 조회하기

5월 식품들의 총매출 조회하기 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이서브쿼리로 2022년 5월에 판매된 상품별 수량 합계(SUM(AMOUNT))를 구함.해당 결과를 FOOD_PRODUCT 테이블과 PRODUCT_ID 기준으로 JOIN.각 상품별 총 매출액(PRICE * AMOUNT) 계산.SELECT P.PRODUCT_ID AS PRODUCT_ID, PRODUCT_NAME, PRICE*AMOUNT AS TOTAL_SALESFROM FOOD_PRODUCT PJOIN (SELECT F.PRODUCT_ID AS PRODUCT_ID, SUM(AMOUNT) AS AMOUNT FROM FOOD_O..

코딩테스트/SQL 2025.06.09

[SQL][WITH][비트] 언어별 개발자 분류하기

언어별 개발자 분류하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이FRONT는 Front End 코드들을 모두 합쳐놓은 코드이기 때문에 = CODE로 못하고 >0 으로 해야함하나라도 가지고 있는지 확인하는 것이기 때문에나머지는 (D.SKILL_CODE & P.CODE) = P.CODE 이런 식으로 해도됨아무것도 안겹치는 애들을 제외하기 위해 WHERE절이 필수로 필요함 WITH FRONT AS ( SELECT SUM(CODE) AS CODE FROM SKILLCODES WHERE CATEGORY = 'Front End'),PYTHON AS ( SELECT CODE FROM ..

[SQL][JOIN][COUNT] 대장균들의 자식의 수 구하기

대장균들의 자식의 수 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이자식이 없는 개체도 출력하려면 E1 기준으로 출력해야함⇒ LEFT JOINCOUNT 했을 때 0으로 출력하기 위해서는 E2의 수를 세어야함SELECT E1.ID, COUNT(E2.ID) AS CHILD_COUNTFROM ECOLI_DATA E1LEFT JOIN ECOLI_DATA E2ON E1.ID=E2.PARENT_IDGROUP BY 1ORDER BY 1

코딩테스트/SQL 2025.05.01

[SQL] 헤비 유저가 소유한 장소

헤비 유저가 소유한 장소 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이GROUP BY + JOINHOST_ID 로 그룹핑한 값이 2개 이상인 사람을 구해서해당 사람의 모든 공간을 출력하도록 함SELECT P1.ID, P1.NAME, P1.HOST_IDFROM PLACES P1JOIN (SELECT * FROM PLACES GROUP BY 3 HAVING COUNT(*)>1) AS P2ON P1.HOST_ID = P2.HOST_IDORDER BY 1 ASC 다른 사람 풀이GROUP BY + ININ 절은 해당 조건 내의 모든 값을 확인⇒ 실제 존재하는 데이터들의 모든 값까지 확..

코딩테스트/SQL 2025.04.20

[SQL][ISNULL, IN] 업그레이드 할 수 없는 아이템 구하기

업그레이드 할 수 없는 아이템 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이누군가의 부모가 아닌 ITEM들 = 더이상 업그레이드 불가능한 마지막 아이템왜냐면 부모 -> 자식 으로 업그레이드 하는데A -> B-> C에서 더이상 C가 없는 B는 업그레이드 불가능그러므로 누군가의 부모인 아이템들을 뽑아서 거기에 NOT IN 하는 애들만 골라다가 출력SELECT I.ITEM_ID, ITEM_NAME, RARITYFROM ITEM_INFO IJOIN ITEM_TREE TON I.ITEM_ID=T.ITEM_IDWHERE I.ITEM_ID NOT IN (SELECT PARENT_ITEM_ID ..

코딩테스트/SQL 2024.11.15

[SQL][IN] 물고기 종류 별 대어 찾기

물고기 종류 별 대어 찾기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이서브쿼리로 길이가 최대인 물고기의 TYPE을 뽑고 -> 그 물고기만 가지는 DBWHERE절로 그 하나의 값과 같은 물고기를 찾으면FISH_INFO가 보는 물고기는 해당 물고기가 된다거기서 ID, FISH_NAME, LENGTH를 추출하면 끝SELECT ID, FISH_NAME, LENGTHFROM FISH_INFO JOIN FISH_NAME_INFO ON FISH_INFO.FISH_TYPE = FISH_NAME_INFO.FISH_TYPEWHERE FISH_INFO.FISH_TYPE IN ( SELECT FISH_TYPE ..

카테고리 없음 2024.11.01

[SQL] [서브쿼리] 업그레이드 된 아이템 구하기

업그레이드 된 아이템 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이RARE인 아이템이 자신의 부모인 아이템을 찾고그 아이템의 정보를 INFO에서 찾아오는 것SELECT I.ITEM_ID, I.ITEM_NAME, I.RARITYFROM ITEM_INFO AS IJOIN (SELECT TREE.ITEM_ID FROM ITEM_TREE AS TREE JOIN (SELECT INFO.ITEM_ID, INFO.ITEM_NAME, INFO.RARITY FROM ITEM_INFO AS INFO WHERE INFO.RARITY="RARE" ) AS R ..

코딩테스트/SQL 2024.11.01

[SQL][YEAR, JOIN] 연도별 대장균 크기의 편차 구하기

연도별 대장균 크기의 편차 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이연도별 최댓값을 가지는 서브쿼리를 만들어서JOIN 해서 사용이때 ON을 YEAR로 묶을 수 있다는 점이 생각이 안났음SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, Y.MAX_VAL-E.SIZE_OF_COLONY AS YEAR_DEV, E.IDFROM ECOLI_DATA AS EJOIN (SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, MAX(SIZE_OF_COLONY) AS MAX_VAL FROM ECOLI_DATA GROUP ..

코딩테스트/SQL 2024.11.01