반응형

안녕하세요 Jin's 입니다.

 

SQL 고득점 Kit의 JOIN 답안 공유드립니다~

 

1. 없어진 기록 찾기

SELECT outs.animal_id
     , outs.name
  FROM animal_ins ins
 right outer join animal_outs outs
    on ins.animal_id = outs.animal_id
 where ins.animal_id is null
 ORDER BY outs.animal_id, outs.name

 

2. 있었는데요 없었습니다

select ins.animal_id
     , ins.name
  from animal_ins ins
     , animal_outs outs
 where ins.animal_id = outs.animal_id
   and (ins.datetime - outs.datetime) > 0
 order by ins.datetime

 

3. 오랜 기간 보호한 동물(1)

select *
  from (
       SELECT ins.name
            , ins.datetime
         from animal_ins ins
         left outer join animal_outs outs
           on ins.animal_id = outs.animal_id
        where outs.animal_id is null
        order by ins.datetime
    )
  where rownum <4

 

4. 보호소에서 중성화한 동물

SELECT ins.animal_id
     , ins.animal_type
     , ins.name
  from animal_ins ins
     , animal_outs outs
 where ins.animal_id = outs.animal_id
   and ins.sex_upon_intake <> outs.sex_upon_outcome

 

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

SQL 고득점 Kit의 GROUP BY 답안 공유드립니다~

 

모두 MySQL 기준입니다.

 

1. 고양이와 개는 몇 마리 있을까

SELECT ANIMAL_TYPE, COUNT(*)
  FROM ANIMAL_INS
 GROUP BY ANIMAL_TYPE

 

2. 동명 동물 수 찾기

SELECT NAME, COUNT(*)
  FROM ANIMAL_INS
 GROUP BY NAME
HAVING COUNT(NAME) > 1

 

3. 입양 시각 구하기(1)

SELECT HOUR(DATETIME) AS HOUR
     , COUNT(*)
  FROM ANIMAL_OUTS
 WHERE HOUR(DATETIME)
   AND HOUR(DATETIME) >= '09'
   AND HOUR(DATETIME) <= '19'
 GROUP BY HOUR(DATETIME)
 ORDER BY HOUR(DATETIME)

 

4. 입양 시각 구하기(2)

SELECT D.HOUR
     , COUNT(H.DATETIME)
  FROM ANIMAL_OUTS H
 RIGHT OUTER JOIN (
                    SELECT LEVEL -1 AS HOUR
                      FROM DUAL
                   CONNECT BY LEVEL <= 24
) D
    ON TO_CHAR(H.DATETIME,'HH24')= D.HOUR
 GROUP BY D.HOUR
 ORDER BY D.HOUR
반응형
반응형

안녕하세요 Jin's 입니다.

 

SQL 고득점 Kit의 SUM, MAX, MIN 답안 공유드립니다~

 

모두 오라클 기준입니다.

 

1. 최댓값 구하기

SELECT MAX(DATETIME)
  FROM ANIMAL_INS

 

2. 최솟값 구하기

SELECT MIN(DATETIME)
  FROM ANIMAL_INS

 

3. 동물 수 구하기

SELECT COUNT(*)
  FROM ANIMAL_INS

 

4. 중복 제거하기

SELECT COUNT(DISTINCT(NAME))
  FROM ANIMAL_INS
반응형

+ Recent posts