db 9

[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)

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/59037 코딩테스트 연습 - 어린 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 풀이 - 특정 조건과 일치하지 않는 것만 찾아오기 - where 칼럼 조건 3. 답안 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION 'Aged' ORDER BY ANIMAL_..

[SQL] UPDATE (데이터 수정 or 변경) / INSERT (데이터 삽입)

UPDATE 데이터를 수정 및 변경해야 하는 경우 UPDATE 구문을 사용한다. UPDATE 테이블명 SET 수정할 데이터가 있는 컬럼명 = 수정할 내용 WHERE 조건이 적용될 컬럼명 = 조건 ※WHERE 조건을 쓰지 않으면 해당 칼럼 전체의 내용이 수정되니, 주의해야 한다. 예시) UPDATE 학생_주소 SET 시군구 = '성남시 분당' WHERE 학생ID = '2018_1542' INSERT 데이터를 1행씩을 삽입해야 하는 경우 INSERT 구문을 사용한다. INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3) VALUES (데이터1, 데이터2, 데이터3) 데이터가 들어갈 컬럼과, 해당 데이터의 값의 순서를 동일하게 나열해야 한다. 예시) INSERT INTO 학생_주소(학생ID, 시도, 시군..

반응형