Algorithm/MySQL
HHMIN
2020. 7. 21. 21:23
2020. 7. 21. 21:23
문제
ANIMAL_INS 테이블 형식
ANIMAL_INS 테이블 데이터 상황
출력 결과
풀이
해설
보호시작일(DATETIME) 컬럼의 데이터 형식을 시간을 제외한 '2020-07-21' 와 같은 형식으로 변환하여 조회한다.
HHMIN
2020. 7. 21. 21:16
2020. 7. 21. 21:16
문제
ANIMAL_INS 테이블 형식
ANIMAL_OUTS 테이블 형식
ANIMAL_INS 테이블 데이터 상황
ANIMAL_OUTS 테이블 데이터 상황
출력 결과
풀이
해설
TIMESTAMPDIFF(before date, after date) 를 사용하여 ANIMAL_OUTS 테이블의 입양일 데이터와 ANIMAL_INS 테이블의 보호시작일 데이터를 초단위로 비교한 값을 기준으로 내림차순(보호 기간이 긴 순)정렬하여 상위 2 개 레코드만 조회
HHMIN
2020. 7. 21. 21:04
2020. 7. 21. 21:04
문제
ANIMAL_INS 테이블 형식
ANIMAL_INS 테이블 데이터 상황
출력 결과
풀이
해설
중성화 여부 컬럼(SEX_UPON_INTAKE)의 데이터에 Neutered 또는 Spayed 라는 단어가 들어가 있을경우 'O' 그렇지 않을경우 'X'로 변환하여 조회한다.
HHMIN
2020. 7. 21. 20:53
2020. 7. 21. 20:53
문제
ANIMAL_INS 테이블 형식
ANIMAL_OUTS 테이블 형식
ANIMAL_INS 테이블 데이터 상황
ANIMAL_OUTS 테이블 데이터 상황
출력 결과
풀이
해설
ANIMAL_OUTS 테이블에는 존재하지않고, ANIMAL_INS 테이블에 존재하는 레코드를 찾기 위해 LEFT JOIN 한다. 두 테이블에서 공통적으로 존재하는 레코드를 제외하고 조회한다.
(이해를 돕기 위해 아래 그림 참조)
HHMIN
2020. 7. 21. 20:21
2020. 7. 21. 20:21
문제
ANIMAL_INS 테이블 형식
ANIMAL_OUTS 테이블 형식
ANIMAL_INS 테이블 데이터 상황
ANIMAL_OUTS 테이블 데이터 상황
출력 결과
풀이
해설
ANIMAL_OUTS 테이블 기준 1) Allie의 ID는 ANIMAL_INS에 없으므로, Allie의 데이터는 유실되었습니다. 2) Gia의 ID는 ANIMAL_INS에 있으므로, Gia의 데이터는 유실되지 않았습니다. 3) Spice의 ID는 ANIMAL_INS에 없으므로, Spice의 데이터는 유실되었습니다. ANIMAL_INS 테이블에는 존재하지않고, ANIMAL_OUTS 테이블에 존재하는 레코드를 찾기 위해 RIGHT JOIN 한다. 두 테이블에서 공통적으로 존재하는 레코드를 제외하고 조회한다.
(이해를 돕기 위해 아래 그림 참조)
HHMIN
2020. 7. 21. 18:32
2020. 7. 21. 18:32
문제
ANIMAL_OUTS 테이블 형식
출력 결과
풀이
해설
1) WITH RECURSIVE (WITH 재귀쿼리 계층구조) : H 컬럼에 0 부터 23까지의 레코드 값을 갖는 가상 테이블 생성 2) IFNULL(value, 0) : value가 NULL 일 경우 0을 반환 3) HOUR(date) : date의 시간값만 반환