[SQL] 재귀 CTE
·
SQL
📘 SQL 재귀 CTE (WITH RECURSIVE)재귀 CTE란 무엇인가?CTE (Common Table Expression)란?임시 결과 테이블을 만드는 기능WITH 절로 작성하며, 쿼리 안에서 테이블처럼 사용할 수 있다재귀 CTE (WITH RECURSIVE)란?자기 자신을 참조하는 CTE반복적으로 이어지는 데이터(트리 구조, 계층 구조)를 처리할 때 사용부모-자식 관계, 조직도, 계층형 데이터 분석에 사용한다.왜 재귀 CTE가 필요할까?필요 상황설명트리 구조 탐색회사 조직도, 대장균 세대 탐색, 카테고리 트리무한 깊이 연결상위 → 하위로 내려가는 연결 처리부모를 따라가며 정보 누적예: 세대 수, 경로 길이 계산 👉 JOIN만으로 몇 단계 이상 넘어가 연결이 복잡할 때 재귀 CTE가 훨씬 유연하..
[SQL] Programmers 301649번 대장균 개체 크기 분류하기 - NTILE
·
SQL
🧬 Programmers 301649번 - 대장균 개체 크기 분류하기 📍 문제 요약ECOLI_DATA 테이블에서 대장균 개체를 크기 내림차순으로 정렬상위 0%~25% → 'CRITICAL'26%~50% → 'HIGH'51%~75% → 'MEDIUM'76%~100% → 'LOW'ID와 분류명(COLONY_NAME)을 출력하고, ID 오름차순으로 정렬🧠 필요한 SQL 문법문법 목적문법사용 목적NTILE(4)데이터를 4등분해서 그룹 번호 부여 (1~4)CASE WHEN그룹 번호를 읽어, 분류 이름(CRITICAL 등)으로 변환ORDER BY최종 결과를 ID 기준으로 정렬🛠 SQL 쿼리문SELECT ID, CASE NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DES..