코딩테스트17 [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/프로그래머스]조건에 맞는 아이템들의 가격의 총합 구하기 문제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/프로그래머스]중복 제거하기 문제동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 내 풀이 SELECT COUNT(DISTINCT(NAME)) AS COUNTFROM ANIMAL_INSWHERE NAME IS NOT NULL; 왜 이렇게 풀었는가?COUNT할때 NAME의 중복은 제외하고 세야하니 DISTINCT함수를 하용하였다.이름의 NULL은 제외를 해야하니 WHERE절에서 조건을 붙여줬다. 2025. 7. 14. [SQL/프로그래머스]최솟값 구하기 문제동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 내 풀이SELECT MIN(DATETIME) AS 시간FROM ANIMAL_INS;가장 먼저 들어온 동물을 구하는 문제이니 DATETIME에 MIN을 사용하였다.정답은 맞지만, 너무 빠르게 끝나서 다른 사람들의 풀이도 확인해봤다. 다른 사람의 풀이SELECT DATETIME AS 시간FROM ANIMAL_INSORDER BY DATETIME ASCLIMIT 1; 이 방법은 내가 코테 연습 초반에 썼던 방법과 비슷하다. 코드의 정석 같은 느낌이다. 어떤 풀이든지 정답은 다 될 수 있다. 2025. 7. 14. [SQL/프로그래머스]가격이 제일 비싼 식품의 정보 출력하기 문제FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요. 내 풀이 SELECT *FROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);이 문제는 비교적 쉬운 문제 같다. 모든 컬럼을 출력해야되고(SELECT문에서 *로 컬럼 추출), 가격의 MAX값을 구해야한다. 만일 첫번째 SELECT문에서 MAX를 사용한다면 컬럼 하나만 출력이 된다. 따라서 그 값을 갖고있는 ROW의 다른 컬럼들이 필요하다면 어떻게 해야할까? 서브쿼리를 이용하면 된다.서브쿼리에서 PRICE의 MAX값을 가져오고, 본쿼리에서 해당 PRICE의.. 2025. 7. 14. 이전 1 2 3 다음