KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT COUNT(DISTINCT ANIMAL_ID) NUMBER_OF_ANIMALS --- (중복제외, 동물 아이디 행의 갯수 조회)
FROM ANIMAL_INS --- (ANIMAL_INS 테이블 선택)
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT NAME,
COUNT(*) SAMENAME --- (동물 이름과 행의 수 (SAMENAME) 조회)
FROM ANIMAL_INS --- (ANIMAL_INS 테이블 선택)
WHERE NAME IS NOT NULL --- (이름 없는 동물 집계에서 제외하는 조건)
GROUP BY 1 --- (1번째 속성(NAME)으로 그룹화)
HAVING COUNT(*) > 1 --- (행의 수가 1개 초과하는 조건)
ORDER BY NAME --- (이름 기준 오름차순 정렬)
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT ANIMAL_ID,
NAME --- (동물 번호와 이름 조회)
FROM ANIMAL_INS --- (ANIMAL_INS 테이블 선택)
WHERE INTAKE_CONDITION LIKE '%Sick%' --- (INTAKE_CONDITION에 Sick이 포함되는 조건)
ORDER BY 1 --- (1번째 속성(ANIMAL_ID) 기준 정렬)
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT MIN(DATETIME) 시간 --- (DATETIME 속성의 최솟값 조회, 시간 별칭 부여)
FROM ANIMAL_INS --- (ANIMAL_INS 테이블 선택)
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT ANIMAL_ID,
NAME --- (동물 아이디와 이름 조회)
FROM ANIMAL_INS --- (ANIMAL_INS 테이블 선택)
WHERE *NOT* INTAKE_CONDITION LIKE '%Aged%' --- (INTAKE~ 속성 내 Aged 값이 *없는* 조건)
ORDER BY 1 --- (1번째 속성(ANIMAL_ID) 기준 정렬)