시작하며
2주차 수업에서는 실무에서 자주 쓰이는 SQL 테크닉을 다룬다. ChatGPT를 SQL 작성 보조 도구로 활용하는 방법, 그리고 자주 혼동하는 SQL 함수와 커맨드의 차이를 정리한다.

SQL 실무 테크닉
ChatGPT를 활용한 SQL 작성
ChatGPT에게 테이블 스키마와 요구사항을 자연어로 제공하면 SQL을 생성해 준다. 아래와 같이 프롬프트를 구성하면 효과적이다.
아래와같은두개의테이블이있어.
CREATE TABLE raw_data.user_session_channel (
userid integer ,
sessionid varchar(32),
channel varchar(32),
Primary key sessionid
);
CREATE TABLE raw_data.session_timestamp (
sessionid varchar(32) primary key,
ts timestamp
);
앞서 두 개의 테이블 (session_timestamp, user_session_channel)을 바탕으로 Monthly Active User를 계산하는 SQL을 작성해줘
주요 SQL 함수 및 커맨드
INSERT INTO vs COPY (Bulk Update)
INSERT INTO는 행 단위로 데이터를 삽입한다.COPY는 파일 단위 대량 적재(Bulk Update)에 사용하며 성능이 훨씬 빠르다.
NULLIF와 COALESCE
NULLIF(value, 0): 두 값이 같으면 NULL을 반환하고, 다르면 첫 번째 값을 반환한다.COALESCE(value, 100): value가 NULL이면 100을 반환한다.
DELETE FROM vs TRUNCATE
TRUNCATE는WHERE조건을 지원하지 않는다.TRUNCATE는 트랜잭션을 지원하지 않는다.- 실행 속도는
TRUNCATE가 더 빠르다.
정리하며
ChatGPT는 SQL 초안을 빠르게 작성하는 데 유용하지만, 생성된 쿼리의 정확성은 직접 검증해야 한다. NULLIF, COALESCE 같은 조건부 함수와 DELETE FROM vs TRUNCATE의 차이를 명확히 이해해 두면 실무에서 발생하는 데이터 품질 문제를 효율적으로 처리할 수 있다.