반응형

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

 

String, Date 답안 공유 드립니다!

 

1. 루시와 엘라 찾기

SELECT animal_id
     , name
     , sex_upon_intake
  FROM animal_ins
 where name in ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
 order by animal_id;

 

2. 이름에 el이 들어가는 동물 찾기

SELECT animal_id
     , name
  from animal_ins
 where upper(name) like '%EL%'
   and animal_type = 'Dog'
 order by name;

 

3. 중성화여부 파악하기

SELECT animal_id
     , name
     , (case when instr(sex_upon_intake,'Intact') > 0
             then 'X'
             else 'O'
         end
        ) as 중성화
  from animal_ins
 order by animal_id

 

4. 오랜기간 보호한 동물(2)

select animal_id
     , name
from (SELECT ins.animal_id
            , ins.name
            , outs.datetime - ins.datetime as datetime
         FROM animal_ins ins
            , animal_outs outs
        WHERE ins.animal_id = outs.animal_id    
      order by datetime desc
      ) 
where rownum < 3

 

5. DATETIME에서 DATE로 형 변환

SELECT animal_id
     , name
     , to_char(datetime,'yyyy-mm-dd') as datetime
  from animal_ins
 order by animal_id
반응형
반응형

안녕하세요 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의 IS NULL 답안 공유드립니다~

 

모두 Oracle 기준입니다.

 

1. 이름이 없는 동물의 아이디

SELECT ANIMAL_ID
  FROM ANIMAL_INS
 WHERE NAME IS NULL
 ORDER BY ANIMAL_ID

 

2. 이름이 있는 동물의 아이디

SELECT ANIMAL_ID
  FROM ANIMAL_INS
 WHERE NAME IS NOT NULL
 ORDER BY ANIMAL_ID

 

3. NULL 처리하기

SELECT ANIMAL_TYPE
     , NVL(NAME,'No name') AS NAME
     , SEX_UPON_INTAKE
  FROM ANIMAL_INS
 ORDER BY ANIMAL_ID

 

 

반응형
반응형

안녕하세요 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
반응형
반응형

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

 

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

 

1. 모든 레코드 조회하기(MySQL)

SELECT ANIMAL_ID
     , ANIMAL_TYPE
     , DATETIME
     , INTAKE_CONDITION
     , NAME
     , SEX_UPON_INTAKE
  FROM ANIMAL_INS 
 ORDER BY ANIMAL_ID;

 

2. 역순 정렬하기(MySQL)

SELECT NAME
     , DATETIME
  FROM ANIMAL_INS
 ORDER BY ANIMAL_ID DESC;

 

3. 아픈 동물 찾기(MySQL)

SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS
 WHERE INTAKE_CONDITION = 'Sick'
 ORDER BY ANIMAL_ID;

 

4. 어린 동물 찾기(MySQL)

SELECT ANIMAL_ID	
     , NAME
  FROM ANIMAL_INS
 WHERE INTAKE_CONDITION!='Aged'
 ORDER BY ANIMAL_ID;

 

5. 동물의 아이디와 이름(MySQL)

SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS 
 ORDER BY ANIMAL_ID;

 

6. 여러 기준으로 정렬하기(MySQL)

SELECT ANIMAL_ID
     , NAME
     , DATETIME
  FROM ANIMAL_INS 
 ORDER BY NAME, DATETIME DESC;

 

7. 상위 n개 레코드(Oracle)

SELECT NAME
  FROM (
           SELECT NAME
      		 FROM ANIMAL_INS
            ORDER BY DATETIME
       )
 WHERE ROWNUM=1;

 

반응형
반응형

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

 

집에서 DB를 어떻게 공부를 해야할까하다가 찾게된 프로그래머스의  SQL 고득점  Kit 를 소개해드리려고 합니다.

SQL 고득점 Kit만 다 풀어도 기초적인 조회성 SQL들을  다 다룰 수 있었답니다~

정말 기본기 다지는데 좋을거 같아요!

보통 업무에서 DB를 만날때 처음부터 CRUD(Create(생성), Read(읽기), Update(갱신), Delete(삭제))를 모두 사용하지 않고,

조회성부터 시작하거나 DBA분이 따로 계시면 조회성 밖에 권한을 주지 않기 때문에 기본적인 것만 다룰 수 있어도 업무 진행할때

도움이 많이 되기 때문에 꼭 해보기실 추천드려요~

 

 

사실 처음 DB 공부한다 생각하고 DB 툴 설치부터 계정생성하고 테이블 만들고, 테이블에 테스트 데이터 생성 하는 것부터가

DB 공부를 시작할 때 큰 장벽이라고 생각하고, PC에 보통 오라클을 깔기 때문에 설치한 노트북을 들고 다니는 것도 일도 고생이라

아무데서나 시간될때 접속해서 문제만 바로바로 풀고 공부할 수 있어서 너무 좋은 것같습니다.

 

SQL을 처음 해보시는 분에게는 어려울 수 있지만, 업무적으로 SQL을 다루시는 분들은 그리 어렵지 않게 푸실 수 있을거같아요.

 

저는 전체 다 푸는데 넉넉잡아 4일정도 걸렸던거 같아요. 물론 4일동안 이것만 붙잡은 것도 아니고 1시간정도씩 해서 풀었던거 같아요

 

SQL 고득점 Kit 를 풀면서 그동안 당연하게 사용했던 것들에 대해서 다시 생각할 수 있는 기회가 생겨 좋았습니다.

여러분도 SQL 공부하실 때 한번 활용해보세요!

 

제가 풀었던 답안은 아래와 같으니 공부하실때 참고하셔도 좋을거 같아요!

 

 

[ SQL 고득점 Kit ] SELECT 답안

안녕하세요 Jin's 입니다. SQL 고득점 Kit의 SELECT 답안 공유드립니다~ 1. 모든 레코드 조회하기(MySQL) SELECT ANIMAL_ID , ANIMAL_TYPE , DATETIME , INTAKE_CONDITION , NAME , SEX_UPON_INTAKE FROM ANIMAL_I..

jin-ing.tistory.com

 

[ SQL 고득점 Kit ] SUM, MAX, MIN 답안

안녕하세요 Jin's 입니다. SQL 고득점 Kit의 SUM, MAX, MIN 답안 공유드립니다~ 모두 오라클 기준입니다. 1. 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS 2. 최솟값 구하기 SELECT MIN(DATETIME) FROM AN..

jin-ing.tistory.com

 

[ SQL 고득점 Kit ] GROUP BY 답안

안녕하세요 Jin's 입니다. SQL 고득점 Kit의 GROUP BY 답안 공유드립니다~ 모두 MySQL 기준입니다. 1. 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(*) FROM ANIMAL_INS GROUP BY ANIMAL_TYPE 2. 동명..

jin-ing.tistory.com

 

[ SQL 고득점 Kit] IS NULL 답안

안녕하세요 Jin's 입니다. SQL 고득점 Kit의 IS NULL 답안 공유드립니다~ 모두 Oracle 기준입니다. 1. 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID 2. 이..

jin-ing.tistory.com

 

[ SQL 고득점 Kit ] JOIN 답안

안녕하세요 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...

jin-ing.tistory.com

 

[ SQL 고득점 Kit ] String, Date 답안

안녕하세요 Jin's 입니다. String, Date 답안 공유 드립니다! 1. 루시와 엘라 찾기 SELECT animal_id , name , sex_upon_intake FROM animal_ins where name in ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty..

jin-ing.tistory.com

 

프로그래밍 강의 | 프로그래머스

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

 

반응형

+ Recent posts