프로그래머스 18

[SQL] 프로그래머스 : 보호소에서 중성화한 동물(EXISTS, LIKE)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 OUT의 중성화 된 목록 : LIKE SEX_UPON_OUTCOME이 Neutered나 Spayed로 시작 IN의 중성화 안 된 목록 : LIKE SEX_UPON_INTAKE가 Intact로 시작 OUT의 중성화 된 목록에 ..

[SQL] 프로그래머스 : 오랜 기간 보호한 동물(1)(NOT EXISTS)

1. 문제 https://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 2. 풀이 아직 입양을 못 간 동물 (INS 테이블에는 있지만 OUT 테이블에 없는 동물) : NOT EXISTS NOT EXISTS 서브쿼리 : 서브쿼리 목록에 값이 존재하지 않는 것들만 출력하도록 하는 조건 가장 오래 보호소에 ..

[SQL] 프로그래머스 : 있었는데요 없었습니다(JOIN)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59043 코딩테스트 연습 - 있었는데요 없었습니다 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 입양 IN정보와 입양 OUT 정보를 연결 : INNER JOIN (KEY = ANIMAL_ID) 보호시작일(ANIMAL_INS.DATETIME)보다 입양일(ANIMAL_OUTS.DATETIME)이 더 빠른 동물 조건 ANIMAL..

[SQL] 프로그래머스 : 없어진 기록 찾기(OUTER JOIN)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 입양 OUT 기록은 있는데 입양 IN 기록이 없는 동물 찾기 입양 OUT과 입양IN을 연결 : LEFT OUTER JOIN (KEY는 ANIMAL_ID) 입양 OUT 목록은 다 나와야 하는데 입양 IN 목록에 값이 있으면 나오고, ..

[SQL] 프로그래머스 : 입양 시각 구하기(2)(GROUP BY, CONNECT BY)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59413 코딩테스트 연습 - 입양 시각 구하기(2) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 2. 풀이 시간대 가상테이블 만들기 : CONNECT BY LEVEL 시간대 가상테이블과 시간대별 입양건수 연결하기 : OUTER JOIN(LEFT JOIN) 입양건수가 없으면 0을 출력 : NVL 건수 출력 : COUNT 시간순으로 정렬 : ORDE..

[SQL]프로그래머스 : 입양 시각 구하기(1)(DATE_FORMAT,TO_CHAR)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59412 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 2. 풀이 시간대 구하기 : MYSQL : DATE_FORMAT ORACLE : TO_CHAR 시간대별로 건수 구하기 : GROUP BY, COUNT 시간대 순으로 정렬 : ORDER BY 3. 답안 --MYSQL SELECT DATE_FORMAT(D..

[SQL]프로그래머스 : 동명 동물 수 찾기(GROUP BY, HAVING)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59041 코딩테스트 연습 - 동명 동물 수 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 이름이 두번 이상 쓰인 이름 : GROUP BY, HAVING 조건 이름이 쓰인 횟수 : COUNT 이름이 없는 동물은 집계에서 제외 : COUNT 집계 함수에서 기본적으로 제외함 결과를 이름 순으로 조회 : ORDER BY 3...

[SQL] 프로그래머스 : 중복제거하기(SELECT, COUNT, DISTINCT)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59408?language=oracle 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 - 중복이 제거된 갯수 구하기 (NULL은 제외) - 중복 제거 -> DISTINCT 사용 - 갯수 구하기 -> COUNT 사용 - NULL 제외 -> COUNT 사용 (COUNT, SUM, MAX등의 집계..

[SQL] 프로그래머스 : 상위N개 레코드 (SELECT)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59405 코딩테스트 연습 - 상위 n개 레코드 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 - 가장 오래된 값을 출력해야 함 - 첫번째 방법 : 스칼라 서브 쿼리를 이용 -> where 시간 = (가장 오래된 시간) - 두번째 방법 : order by 이용 -오래된 순으로 정렬 후 가장 상위의 값 1개만 가져오기 - 오라..

[SQL] 프로그래머스 : 여러기준으로 정렬하기(SELECT, ORDER BY)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59404 코딩테스트 연습 - 여러 기준으로 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 - ORDER BY columnA, columnB DESC - ORDER BY의 기본값은 오름차순(ASC)임. - 정렬조건으로 넣은 칼럼 뒤에 각각 ASC, DESC등의 정렬방식을 입력해주어야 함. 없으면 ASC적용 - 입력된..

반응형