SQL을 전혀 모르는 사람이 ChatGPT로 복잡한 쿼리를 만들어내고, 숙련된 DBA가 ChatGPT로 최적화 포인트를 찾아내는 것이 지금 현실이다. 핵심은 데이터 구조를 정확하게 설명하는 것이다. 테이블 스키마 없이 “매출 쿼리 짜줘”는 쓸모없는 결과를 낳는다.
ChatGPT에게 SQL을 요청할 때 반드시 포함해야 할 정보: ① 테이블 스키마(컬럼명·타입) ② DB 종류(MySQL·PostgreSQL·BigQuery 등) ③ 원하는 결과 형태. 이 3가지가 없으면 사용 불가능한 쿼리가 나온다.
Step 1: 테이블 스키마 전달 방법
ChatGPT에 테이블 정보를 전달하는 가장 효율적인 방법은 CREATE TABLE 문 형식이다.
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_id INT,
order_date TIMESTAMP,
total_amount DECIMAL(10,2),
status VARCHAR(20)
);
CREATE TABLE customers (
customer_id SERIAL PRIMARY KEY,
name VARCHAR(100),
region VARCHAR(50)
);
요청: 지난 30일간 region별 완료 주문 합계와 고객 수를 내림차순으로 조회
Step 2: 복잡한 쿼리 유형별 프롬프트
집계·그룹화 쿼리
– 월별 매출 합계와 전월 대비 증감률
– 고객당 평균 주문 금액과 주문 빈도
– 최근 90일 내 주문 없는 고객 목록 (이탈 위험 고객)
각 쿼리에 인덱스 제안도 포함해줘
윈도우 함수 활용
Stack Overflow 개발자 설문(2024, n=65,000)에 따르면, SQL 작성에 AI 도구를 사용하는 개발자 비율이 전년 대비 41% 증가했다. 복잡한 JOIN과 집계 쿼리에서 AI 보조 활용 시 평균 작성 시간이 62% 단축되었다.
Step 3: 쿼리 최적화 요청
현재 실행 시간: 45초 / 목표: 3초 이내
[느린 쿼리]
[EXPLAIN ANALYZE 결과]
분석 후: 1) 병목 원인 2) 인덱스 추가 제안 3) 쿼리 재작성 버전
Step 4: DB별 SQL 방언 변환
각 DB의 문법 차이점(날짜 함수, 문자열 처리, LIMIT 구문 등)도 설명해줘.
[MySQL 쿼리]
Step 5: 데이터 모델링 설계
핵심 엔티티: 사용자, 강의, 수강 신청, 진도, 리뷰, 결제
조건: 3NF 정규화, 인덱스 전략, 확장성 고려
산출물: CREATE TABLE 문 + ER 다이어그램(텍스트) + 주요 쿼리 예시
SQL 작성 시 주의사항
- 프로덕션 DB 직접 실행 금지: 테스트 환경에서 먼저 검증
- DELETE·UPDATE 특히 주의: WHERE 절 없으면 전체 데이터 영향
- 기밀 스키마 보호: 민감한 컬럼명은 익명화 후 전달
ChatGPT로 파이썬 코드 작성하는 법과 결합하면 쿼리 결과를 자동으로 분석·시각화하는 파이프라인을 구축할 수 있다. ChatGPT 데이터 분석 기능도 함께 활용하면 SQL → 데이터 분석 → 시각화의 전 과정을 AI로 처리할 수 있다.
자주 묻는 질문
Q. ChatGPT가 SQL 문법 오류를 항상 잡아주나요?
아니다. 특정 DB 버전의 문법 차이나 실제 스키마와의 정합성 오류를 놓치는 경우가 있다. DB 종류와 버전을 명시하고 반드시 실행 검증이 필요하다.
Q. NoSQL(MongoDB 등) 쿼리도 작성해주나요?
가능하다. “MongoDB 6.0 기준으로 aggregation pipeline 작성해줘”처럼 명시하면 된다. 단 SQL보다 정확도가 낮으므로 더 꼼꼼한 검증이 필요하다.
Q. 기밀 데이터가 포함된 스키마를 전달해도 되나요?
실제 데이터는 절대 금지. 스키마(구조)만 전달하며, 기업 보안 정책에 따라 컬럼명을 익명화한 예시 스키마를 사용하는 것을 권장한다.
Q. 복잡한 쿼리를 단계별로 나눠 요청해야 하나요?
GPT-4o는 복잡한 다중 JOIN 쿼리도 한 번에 처리할 수 있다. 단, “먼저 서브쿼리로 분리해서 설명해줘”처럼 단계별 접근을 요청하면 더 이해하기 쉬운 코드를 얻는다.
지금 가장 시간이 걸리는 SQL 작업 하나를 테이블 스키마와 함께 ChatGPT에 요청해보자. 쿼리 작성 시간이 극적으로 단축된다.