Fixing a Messy SQL Query Step by Step
- 복잡하고 반복적인
CASE 문, 긴 SELECT 절, 유지보수 어려움 등 지저분한 SQL 쿼리의 문제점을 명확히 진단합니다. 🔍
- 쿼리 형식을 조정하여 가독성을 높이고 편집을 용이하게 합니다. 🧹
- 반복적인 계산 로직과
WHERE 절 조건을 Common Table Expression(CTE)으로 분리하여 쿼리 이해도를 높이고 계산 로직을 중앙 집중화합니다. 🏗️
- 점수 등급을 결정하는 반복적인
CASE 문을 score_grades 조회 테이블로 대체하여 등급 로직을 데이터 기반으로 만들고 유지보수를 간소화합니다. 📊
enrolment_grades 테이블을 통해 등급 데이터를 정규화하려 시도했으나, 결과 형식(10배 많은 행)이 원래 요구사항에 맞지 않을 수 있음을 보여줍니다. 🔄
- 점수에서 등급 문자를 계산하는 로직을
calculate_grade_from_score 함수로 캡슐화하여 쿼리 내에서 여러 번 호출함으로써 코드 반복을 줄이고 로직을 중앙 관리합니다. ⚙️
LIKE 키워드를 사용한 CASE 문 대신 course_category 조회 테이블을 사용하여 과정 카테고리 로직을 데이터 기반으로 전환합니다. 📚
- CTE, 조회 테이블, 데이터베이스 함수 등을 활용하여 SQL 쿼리의 가독성, 유지보수성, 확장성을 크게 향상시키는 방법을 단계별로 시연합니다. ✨
데브허브 | DEVHUB | Fixing a Messy SQL Query Step by Step