데이터 전처리: 데이터 프레임과 SQL – SQL 쿼리
ㅁ 데이터 프레임과 SQL
ㅇ 정의:
데이터 프레임과 SQL은 구조화된 데이터를 효율적으로 조회, 가공, 분석하기 위한 데이터 처리 방식으로, 데이터 프레임은 프로그래밍 언어(Pandas, R 등)에서 제공하는 표 형태의 자료구조이고, SQL은 관계형 데이터베이스에서 데이터를 조작하는 질의 언어이다.
ㅇ 특징:
– 데이터 프레임: 메모리 내에서 빠른 연산, 다양한 데이터 타입 혼합 가능, 직관적인 인덱싱과 슬라이싱 지원
– SQL: 대용량 데이터 처리에 최적화, 집계·조인·서브쿼리 등 강력한 연산 지원, 표준화된 문법 제공
ㅇ 적합한 경우:
– 데이터 프레임: 분석가 개인의 로컬 환경에서 빠르게 데이터 탐색 및 전처리가 필요할 때
– SQL: 서버에 저장된 대규모 데이터셋을 조건에 맞게 필터링·집계할 때
ㅇ 시험 함정:
– 데이터 프레임과 SQL의 장단점을 혼동하는 문제
– SQL에서 데이터 타입 변환, NULL 처리 규칙을 잘못 이해하는 경우
ㅇ 시험 대비 “패턴 보기” 예시:
O: SQL은 대용량 데이터 처리에 적합하다.
X: 데이터 프레임은 서버에 저장된 테이블만을 대상으로 한다.
================================
1. SQL 쿼리
ㅇ 정의:
관계형 데이터베이스에서 데이터를 검색, 삽입, 수정, 삭제하기 위해 사용하는 구조적 질의 언어 명령문.
ㅇ 특징:
– SELECT, INSERT, UPDATE, DELETE 등을 통해 데이터 조작 가능
– WHERE, GROUP BY, HAVING, ORDER BY 등 절을 이용한 조건 및 집계 처리 지원
– ANSI 표준 SQL 문법이 있으나, DBMS별로 방언(Dialect)이 존재
ㅇ 적합한 경우:
– 특정 조건에 맞는 데이터 추출
– 여러 테이블 간 조인(join) 수행
– 집계 연산(합계, 평균 등) 수행
ㅇ 시험 함정:
– GROUP BY와 HAVING 절의 사용 순서 및 목적 혼동
– INNER JOIN과 OUTER JOIN의 차이 오해
– NULL 값 비교 시 ‘=’ 대신 IS NULL 사용 필요
ㅇ 시험 대비 “패턴 보기” 예시:
O: HAVING 절은 GROUP BY로 묶은 결과에 조건을 적용한다.
X: WHERE 절은 그룹화된 데이터에 조건을 적용한다.
ㅁ 추가 학습 내용
SQL 학습 핵심 정리
1. SELECT문의 실행 순서
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
2. 서브쿼리의 종류와 사용 시점
– 스칼라 서브쿼리: 단일 값 반환, SELECT 절이나 WHERE 절에서 사용
– 인라인 뷰: FROM 절에서 사용, 임시 테이블처럼 활용
– 상관 서브쿼리: 외부 쿼리의 값을 참조, 행 단위로 반복 실행
3. 인덱스 활용 방식
– 검색 속도 향상
– WHERE 조건, JOIN 키, ORDER BY, GROUP BY 등에 적절히 사용
4. 트랜잭션 제어 명령어
– COMMIT: 변경 내용 영구 저장
– ROLLBACK: 변경 내용 취소
– SAVEPOINT: 특정 지점까지 되돌릴 수 있도록 설정
5. SQL 표준 함수와 DBMS별 차이
– 집계 함수: SUM, COUNT, AVG, MAX, MIN
– 문자열 함수: CONCAT, SUBSTR, LENGTH 등
– 날짜 함수: NOW, SYSDATE, DATEADD 등
6. JOIN 시 ON과 USING 절 차이
– ON: 서로 다른 컬럼명 또는 조건 지정 가능
– USING: 동일한 컬럼명에 대해서만 사용 가능
7. 윈도우 함수 활용법
– ROW_NUMBER: 순번 부여
– RANK: 동일 값에 동일 순위, 다음 순위 건너뜀
– DENSE_RANK: 동일 값에 동일 순위, 다음 순위 건너뛰지 않음
– NTILE: 지정한 수의 그룹으로 분할