Database

오랜 기간 보호한 동물(1) - LEFT JOIN, SUB QUERY

2020. 11. 24. 02:47

문제

programmers.co.kr/learn/courses/30/lessons/59044

 

코딩테스트 연습 - 오랜 기간 보호한 동물(1)

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-------------------------------------------------------------
1단계 : INS를 기준으로 OUTS를 LEFT JOIN 한다
-------------------------------------------------------------
SELECT * FROM ANIMAL_INS A 
 
    LEFT JOIN ANIMAL_OUTS B 
        ON A.ANIMAL_ID = B.ANIMAL_ID
 
 
-------------------------------------------------------------
2단계 : IS NULL 조건을 추가해서 OUTS 테이블에 없는 행만 추린다
-------------------------------------------------------------
SELECT * FROM ANIMAL_INS A 
 
    LEFT JOIN ANIMAL_OUTS B 
        ON A.ANIMAL_ID = B.ANIMAL_ID
 
    WHERE B.ANIMAL_ID IS NULL
 
 
-------------------------------------------------------------
3단계 : 출력해야 하는 컬럼 조건과 정렬 조건을 추가한다
-------------------------------------------------------------
SELECT A.NAME, A.DATETIME FROM ANIMAL_INS A 
 
    LEFT JOIN ANIMAL_OUTS B 
        ON A.ANIMAL_ID = B.ANIMAL_ID 
 
    WHERE B.ANIMAL_ID IS NULL 
    ORDER BY A.DATETIME ASC
 
 
-------------------------------------------------------------
4단계 : 서브쿼리 처리 및 ROWNUM 조건 추가
-------------------------------------------------------------
SELECT * FROM (
 
        SELECT A.NAME, A.DATETIME 
            FROM ANIMAL_INS A 
 
            LEFT JOIN ANIMAL_OUTS B 
                ON A.ANIMAL_ID = B.ANIMAL_ID 
 
            WHERE B.ANIMAL_ID IS NULL 
            ORDER BY A.DATETIME ASC
 
    ) WHERE ROWNUM <= 3
Colored by Color Scripter
cs

저작자표시 (새창열림)

'Database' 카테고리의 다른 글

중성화 여부 파악하기 - CASE WHEN 조건 THEN 값 WHEN 조건 THEN 값 ELSE 값 END AS 컬럼별칭  (0) 2020.11.25
보호소에서 중성화한 동물 - LIKE, %  (0) 2020.11.25
있었는데요 없었습니다 - JOIN  (0) 2020.11.24
없어진 기록 찾기 - LEFT JOIN  (0) 2020.11.24
우유와 요거트가 담긴 장바구니 - Summer/Winter Coding(2019) - GROUP BY, JOIN  (0) 2020.11.24
'Database' 카테고리의 다른 글
  • 중성화 여부 파악하기 - CASE WHEN 조건 THEN 값 WHEN 조건 THEN 값 ELSE 값 END AS 컬럼별칭
  • 보호소에서 중성화한 동물 - LIKE, %
  • 있었는데요 없었습니다 - JOIN
  • 없어진 기록 찾기 - LEFT JOIN
리차드
리차드
리차드
화음을 좋아하는 리차드🎶
리차드
전체
오늘
어제
  • 전체 게시글 보기 (200)
    • Portfolio (0)
    • Thoughts & Records (17)
    • 우아한테크코스 4기 (43)
    • Java & Spring (36)
    • JPA & QueryDSL (2)
    • Database (18)
    • Server & Infra (21)
    • Network (0)
    • Algorithm (11)
    • IDE (12)
    • HTML & CSS (4)
    • JavaScript (11)
    • Life (13)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • java
  • 자바
  • 웹 백엔드 4기
  • javascript
  • aws
  • oracle
  • 스프링부트
  • git
  • 화음을 좋아하는
  • 자바스크립트
  • 우테코
  • 오라클
  • 우아한테크코스
  • 리차드
  • 알고리즘
  • 스프링
  • Spring
  • SQL
  • EC2
  • IntelliJ

최근 댓글

최근 글

hELLO · Designed By 정상우.
리차드
오랜 기간 보호한 동물(1) - LEFT JOIN, SUB QUERY
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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