코딩테스트 연습_0729

starlikedh
|2021. 7. 29. 14:50

프로그래머스 SQL 고득점 KIT 풀어보기_3(SQL 고득점 KIT관련 마지막 포스팅)

JOIN > 있었는데요 없었습니다
문제: 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 
보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요.
이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.
ANIMAL_INS

ANIMAL_OUTS

풀이: 우선 두 테이블을 A, B로 간략화해주고 INNER JOIN으로 아이디 같은것들 먼저 뽑아주기.
SELECT문에는 두 테이블이 공통으로 ID와 NAME이 있으니깐 A꺼 써줄지 B꺼 써줄지 지정하기.
보호 시작일보다 입양일이 더 빠른 동물을 찾아야 하니깐 DATETIME 비교해서 입양 들어온 날짜가 더 뒤에인거 찾아주기.

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME ASC

String, Date > 루시와 엘라 찾기

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

풀이: SELECT문에 이름, 성별, 중성화여부를 차례대로 써 주고,
WHERE절에 주어진 조건 나열해주고 결과는 아이디순 정렬이라 이것은 ORDER BY절에 지정해주기.

SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE (NAME = 'Lucy' OR NAME = 'Ella' OR NAME = 'Pickle' OR
NAME = 'Rogan' OR NAME = 'Sabrina' OR NAME = 'Mitty') AND
SEX_UPON_INTAKE = 'Spayed Female'
ORDER BY ANIMAL_ID ASC

'Database' 카테고리의 다른 글

해커랭크 SQL문제_0803  (0) 2021.08.03
해커랭크 SQL문제_0802  (0) 2021.08.02
코딩테스트 연습_0728  (0) 2021.07.28
코딩테스트 연습_0723  (0) 2021.07.23
해커랭크 SQL문제_0722  (0) 2021.07.22