[SQL] 20240222

김예지·2024년 2월 22일

SQL 풀이

목록 보기
23/26
post-thumbnail

*프로그래머스 SQL 문제 풀이입니다.


문제 1: 보호소에서 중성화한 동물

📃 문제 1 링크

보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.

🔎 풀이 포인트

  • 조건: 보호소에 들어올 당시에는 중성화되지 않아지만, 보호소를 나갈 당시에는 중성호된 동물의 정보
  • 정렬: 아이디 기준 오름차순
  • OUTPUT COLUMNS: 아이디, 종, 이름

제출 답안

SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
    AND A.SEX_UPON_INTAKE LIKE '%Intact%'
    AND (B.SEX_UPON_OUTCOME LIKE '%Spayed%' 
         OR B.SEX_UPON_OUTCOME LIKE '%Neutered%')
ORDER BY A.ANIMAL_ID ; 

문제 2: DATETIME에서 DATE로 형 변환

📃 문제 2 링크

ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.

🔎 풀이 포인트

  • 조건: 모든 레코드, 들어온 날짜는 형식에 맞게(형식: 년-월-일)
  • 정렬: 아이디 기준 오름차순
  • OUTPUT COLUMNS: 아이디, 이름, 들어온 날짜

제출 답안

SELECT ANIMAL_ID, NAME, TO_CHAR(CAST(DATETIME AS DATE), 'YYYY-MM-DD') AS 날짜
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ; 

문제 3: 우유와 요거트가 담긴 장바구니

📃 문제 3 링크

데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.

🔎 풀이 포인트

  • 조건: 우유와 요거트를 동시에 구입한 장바구니 정보 조회
  • 정렬: 아이디 기준 오름차순
  • OUTPUT COLUMNS: 장바구니 아이디

제출 답안

SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME IN ('Yogurt', 'Milk')
GROUP BY CART_ID
HAVING COUNT(DISTINCT NAME) >= 2
ORDER BY CART_ID; 
profile
넓고 얕게? 좁고 깊게?

0개의 댓글