본문 바로가기

전체 글27

[SQL/프로그래머스]가장 비싼 상품 구하기 문제PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요. 내 풀이SELECT MAX(PRICE) AS MAX_PRICEFROM PRODUCT 왜 이렇게 풀었는가?가장 높은 판매가를 출력해야하니 MAX함수를 사용하여 PRICE의 가장 큰 값을 구했다. 2025. 7. 17.
[SQL/프로그래머스]동물 수 구하기 문제동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. 내 풀이SELECT COUNT(DISTINCT ANIMAL_ID) AS COUNTFROM ANIMAL_INS 왜 이렇게 풀었나?이제까지는 집계함수들을 사용했었다. SUM, MAX, MIN 등. 이번 문제에서는 동물이 몇 마리 들어왔는지를 알아야한다. 동물을 구분한는 컬럼은 ANIMAL_ID이다. 즉, ANIMAL_ID의 고윳값을 찾아내면 된다.고윳값을 찾기위해 DISINCT 함수를 적용한다.SELECT COUNT(DISTINCT 컬럼명)FROM 테이블명; 2025. 7. 17.
[SQL/프로그래머스]물고기 종류 별 대어 찾기 문제물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요.결과는 물고기의 ID에 대해 오름차순 정렬해주세요.단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. 내 풀이SELECT FI.ID, FNI.FISH_NAME, FI.LENGTHFROM FISH_INFO FIJOIN FISH_NAME_INFO FNION FI.FISH_TYPE = FNI.FISH_TYPEWHERE (FI.FISH_TYPE, FI.LENGTH) IN (SELECT FISH_TYPE, MAX(LENGTH) .. 2025. 7. 17.
[SQL/프로그래머스]조건에 맞는 아이템들의 가격의 총합 구하기 문제ITEM_INFO 테이블에서 희귀도가 'LEGEND'인 아이템들의 가격의 총합을 구하는 SQL문을 작성해 주세요. 이때 컬럼명은 'TOTAL_PRICE'로 지정해 주세요. 내 풀이SELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFO WHERE RARITY = 'LEGEND'; 왜 이렇게 풀었나?희귀도가 'LEGEND'를 찾기 위해 WHERE 조건절을 사용하여 RARITY = 'LEGEND'를 적용하였다.그 후 가격의 총합을 구해야하니 SUM함수를 사용하였다. 2025. 7. 15.
[SQL/프로그래머스]연도별 대장균 크기의 편차 구하기 문제분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기로 구하며 결과는 연도에 대해 오름차순으로 정렬하고 같은 연도에 대해서는 대장균 크기의 편차에 대해 오름차순으로 정렬해주세요. 내 풀이SELECT YEAR(A.DIFFERENTIATION_DATE) AS YEAR, B.MAXSIZE - A.SIZE_OF_COLONY AS YEAR_DEV, A.IDFROM ECOLI_DATA AS A JOIN (SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, .. 2025. 7. 15.
[SQL/프로그래머스]중복 제거하기 문제동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 내 풀이 SELECT COUNT(DISTINCT(NAME)) AS COUNTFROM ANIMAL_INSWHERE NAME IS NOT NULL; 왜 이렇게 풀었는가?COUNT할때 NAME의 중복은 제외하고 세야하니 DISTINCT함수를 하용하였다.이름의 NULL은 제외를 해야하니 WHERE절에서 조건을 붙여줬다. 2025. 7. 14.