[프로그래머스] SQL 고득점 kit(루시와 엘라 찾기, 가격대 별 상품 개수 구하기)

728x90

1. 루시와 엘라 찾기

 

문제

 

동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.

 

내 풀이

SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
ORDER BY ANIMAL_ID;

 

WHERE 컬럼명 IN ('값', '값2'): 컬럼에서 값들에 해당되는 행만 조회

 

2. 가격대 별 상품 개수

 

문제

 

PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.

 

내 풀이

SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;

 

TRUNCATE(X, D)

  • 주어진 수를 지정된 소수점 자릿수로 절사(Truncate)하는 함수
  • 여기서 X는 대상 숫자이고 D는 소수점 이하 자릿수(버릴 자릿수)
  • 예를 들어, TRUNCATE(1234.5678, 2)는 1234.5678을 소수점 이하 2자리로 절사하여 1234.56으로 만든다.
  • 만약 D가 음수라면, X의 정수 부분에서 D만큼의 자릿수를 0으로 만듭니다. 즉, TRUNCATE(1234.5678, -1)은 1230으로 만든다.
728x90