프로그래머스 있었는데요 없었습니다

2023. 9. 2. 00:14· 코딩테스트

문제에서 원하는 것은

1. 입양일이 보호 시작일 보다 빨라야 하며

2. 보호 시작일 순으로 조회되어야 한다.

 

 

이제 두 테이블을 보며 1번부터 차근차근 sql구문으로 바꾸도록 하겠다.

 

1. 입양일이 보호일 보다 빨라야 한다는 것은 일단 두 테이블을 JOIN 해야 하며 두 테이블의 데이터가 모두 존재해야 입양이 된 동물이기 때문에 JOIN 중에서 INNER JOIN을 사용하면 된다.

 

또한 WHERE절을 이용하여 입양일이 보호 시작일 보다 작으면  입양일이 더 오래된 것을 보여줄 것이다.

 

따라서 이를 sql로 바꾸면 

FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME

 이런 식의 sql 구문이 만들어질 것이다 ON 뒤에 는 두 테이블의 공통적인 ANIMAL_ID 속성을 이용하여 조인을 해준 것이다.

 

아까 말했듯이 이미 입양이 된 동물 중에서 조회를 해야 하기 때문에 INNER JOIN을 한 모습을 볼 수 있다. 

 

두 번째로 2. 보호 시작일이 빠른 순으로 조회가 되어야 하기 때문에  ORDER BY절을 이용하여 DATETIME이 빠른 순으로 정렬하면 된다, 이를 sql로 변경하면 

ORDER BY A.DATETIME ASC;

이런 식이 될 것이다.

 

그리고 아이디와 이름을 출력하라고 하였으므로 이것까지 모두 합친 sql은 

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;

 

이런 식으로 작성이 된다.

'코딩테스트' 카테고리의 다른 글

프로그래머스 카테고리 별 도서 판매량 집계하기  (0) 2023.09.03
프로그래머스 오랜 기간 보호한 동물(2)  (0) 2023.09.02
프로그래머스 오랜 기간 보호한 동물(1)  (0) 2023.09.01
백준 돌 게임7 (9661번)  (0) 2022.08.31
백준 돌 게임6(9660번)  (0) 2022.08.31
'코딩테스트' 카테고리의 다른 글
  • 프로그래머스 카테고리 별 도서 판매량 집계하기
  • 프로그래머스 오랜 기간 보호한 동물(2)
  • 프로그래머스 오랜 기간 보호한 동물(1)
  • 백준 돌 게임7 (9661번)
코드 죄수
코드 죄수
코드 죄수
코드 탈출기
코드 죄수
전체
오늘
어제
  • 분류 전체보기 (126)
    • 스프링 부트 (5)
    • 스프링 (13)
    • 웹 (18)
    • 데이터베이스 (7)
    • 코딩테스트 (25)
    • 자바 (20)
    • 플라스크 (9)
    • react, react-native (11)
    • 기타 설정 (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
코드 죄수
프로그래머스 있었는데요 없었습니다
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.