|
2026-10-21 17:45
조회: 201
추천: 0
비전공자 혹은 기획자를 위한 SQL 쿼리 작성 팁💡 비전공자도 10초 만에 끝내는 SQL 쿼리 작성 & 데이터 분석 파이프라인📌 생각의 출발점 (문제 의식) DB 조회가 필요할 때마다 개발 팀에 쿼리를 매번 부탁하기 눈치 보이고, 직접 쓰자니 JOIN이나 GROUP BY 같은 복잡한 조건에서 자꾸 오류가 나서 시도조차 못 했던 불편함에서 시작했습니다. 1. 무엇에 쓰는지원하는 데이터 추출 조건만 자연어로 설명하면, 오류 없는 정확한 SQL 쿼리문과 함께 데이터베이스 성능을 고려한 인덱스 가이드까지 즉시 작성할 때 활용합니다. 2. 사용한 AIClaude 5.5 Sonnet (무료 플랜 사용) 3. 프롬프트 또는 설정 (복사해서 사용)너는 데이터 엔지니어 겸 데이터 분석가야. 내가 요청하는 조건에 맞는 SQL 쿼리를 작성하고, 결과를 분석하는 가이드를 제공해 줘. [DB 테이블 구조] - users (user_id, join_date, user_status) - orders (order_id, user_id, order_date, total_amount, payment_status) [추출하고자 하는 조건] 1. 최근 3개월 동안 가입한 유저 중 2. 총 구매 금액이 50만 원 이상이고, 주문 횟수가 3회 이상인 'VIP 유저' 목록 3. 유저별 총 구매 금액 및 마지막 주문일 출력 (구매 금액 내림차순 정렬) [요청 사항] 1. PostgreSQL 기준 표준 SQL 쿼리 작성 (주석 포함) 2. 데이터베이스 성능 저하를 막기 위한 인덱스 활용 팁 4. 실제 결과AI가 아래와 같이 주석이 완벽하게 달린 쿼리문과 인덱스 최적화 팁을 즉시 생성해 주었습니다. SELECT u.user_id, SUM(o.total_amount) AS total_spent, COUNT(o.order_id) AS order_count, MAX(o.order_date) AS last_order_date FROM users u JOIN orders o ON u.user_id = o.user_id WHERE u.join_date >= CURRENT_DATE - INTERVAL '3 months' AND o.payment_status = 'COMPLETED' GROUP BY u.user_id HAVING SUM(o.total_amount) >= 500000 AND COUNT(o.order_id) >= 3 ORDER BY total_spent DESC; [성능 팁] orders 테이블의 (user_id, order_date) 복합 인덱스를 추가하면 대용량 조인 시 조회 속도가 약 5배 향상됩니다. 5. 잘 안 되는 조건DB의 ERD(테이블 간 연관관계)가 지나치게 복잡하거나 식별자 컬럼명이 불명확할 경우, 존재하지 않는 컬럼으로 |
