안녕하세요, 데이터 마법사 여러분! 오늘은 SQL을 사용한 데이터 분석의 핵심 기술인 필터링과 정제에 대해 알아보겠습니다. 이 글을 통해 여러분도 데이터 분석의 마법사가 될 수 있을 거예요! 🎩✨
데이터 필터링: 원하는 정보만 쏙쏙 골라내기 🎣
WHERE 절로 시작하는 마법
SQL에서 데이터 필터링의 기본은 WHERE 절입니다. 이것은 마치 마법 지팡이와 같아요!
```sql
SELECT * FROM 고객테이블
WHERE 나이 >= 30 AND 성별 = '여성';
```
이 쿼리는 30세 이상의 여성 고객만을 선택합니다. 간단하죠?
NULL 값 다루기: 숨겨진 보물 찾기 🕵️♀️
NULL 값은 데이터베이스의 미스터리한 존재입니다. 이를 찾아내는 방법은 다음과 같습니다:
```sql
SELECT * FROM 주문테이블
WHERE 배송일자 IS NULL;
```
이 쿼리로 아직 배송되지 않은 주문을 찾을 수 있어요!
고급 필터링 기술: 데이터 분석의 고수되기 🏆
윈도우 함수: 시간 여행하기
윈도우 함수를 사용하면 데이터의 흐름을 볼 수 있습니다. 마치 시간 여행을 하는 것 같죠!
```sql
SELECT
상품명,
판매일자,
판매량,
AVG(판매량) OVER (ORDER BY 판매일자 ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS 이동평균
FROM 판매테이블;
```
이 쿼리는 각 판매 기록에 대해 직전 2일과 현재의 3일 이동 평균을 계산합니다. 트렌드를 한눈에 볼 수 있어요!
정규 표현식: 패턴의 마법사 🧙♀️
정규 표현식은 복잡한 문자열 패턴을 찾는 강력한 도구입니다.
```sql
SELECT * FROM 이메일테이블
WHERE REGEXP_LIKE(이메일주소, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$');
```
이 쿼리는 유효한 이메일 주소만을 필터링합니다. 스팸 메일 퇴치에 완벽해요!
데이터 정제: 깨끗한 데이터로 변신 🧼✨
중복 제거: 데이터 다이어트
중복 데이터는 분석 결과를 왜곡시킬 수 있습니다. 다음과 같이 제거할 수 있어요:
```sql
DELETE FROM 고객테이블
WHERE 고객ID NOT IN (
SELECT MIN(고객ID)
FROM 고객테이블
GROUP BY 이름, 이메일, 전화번호
);
```
이 쿼리는 동일한 이름, 이메일, 전화번호를 가진 중복 고객 중 가장 낮은 ID만 남기고 나머지를 삭제합니다.
데이터 표준화: 통일성의 마법
데이터 표준화는 일관성 있는 분석을 위해 필수적입니다.
```sql
UPDATE 주소테이블
SET 도시명 = TRIM(UPPER(도시명));
```
이 쿼리는 모든 도시명을 대문자로 변환하고 앞뒤 공백을 제거합니다. 깔끔하죠?
실전 응용: 데이터 마법사의 일상 🧙♂️📊
금융 사기 탐지: 수상한 거래 찾기 🕵️♂️
```sql
WITH 일일거래통계 AS (
SELECT
고객ID,
거래일자,
AVG(거래금액) AS 평균거래액,
STDDEV(거래금액) AS 거래액표준편차
FROM 거래테이블
GROUP BY 고객ID, 거래일자
)
SELECT * FROM 거래테이블 t
JOIN 일일거래통계 s ON t.고객ID = s.고객ID AND t.거래일자 = s.거래일자
WHERE t.거래금액 > s.평균거래액 + (3 * s.거래액표준편차);
```
이 쿼리는 고객의 일일 평균 거래액보다 3 표준편차 이상 높은 거래를 찾아냅니다. 사기 거래를 잡아내는 데 유용하죠!
의료 데이터 분석: 환자 정보 보호하기 🏥🔒
```sql
SELECT
CONCAT(SUBSTRING(환자명, 1, 1), REPEAT('*', LENGTH(환자명) - 1)) AS 마스킹된_환자명,
진단명,
처방약
FROM 진료기록
WHERE 진단일자 BETWEEN '2023-01-01' AND '2023-12-31';
```
이 쿼리는 환자의 이름을 마스킹하여 개인정보를 보호하면서 2023년의 진료 기록을 조회합니다.
마치며: 당신도 이제 데이터 마법사! 🎉
SQL을 활용한 데이터 필터링과 정제 기술을 익히면, 여러분도 데이터 분석의 마법사가 될 수 있습니다. 이 기술들을 연습하고 실제 데이터에 적용해보세요. 놀라운 인사이트를 발견할 수 있을 거예요!
데이터 마법의 세계에 오신 것을 환영합니다. 여러분의 SQL 여정에 행운이 함께하기를! 🍀💻
#SQL #데이터분석 #데이터필터링 #데이터정제 #윈도우함수 #정규표현식 #데이터마법사 #데이터과학 #프로그래밍 #비즈니스인사이트 #데이터베이스 #정보보호 #분석기술 #Python #데이터시각화

0 댓글