카테고리 없음

[패스트 캠퍼스_데이터 분석 부트캠프] 18기 8주차

sooooo-happyday 2025. 4. 20. 20:59

2025/4/14~2025/4/18

8주차 기록

 

벌써 두달이 되었다

SQL은 아직 친해지지 못한 것 같은 느낌..

조금 더 복습해야할 것 같음.


[수강한 강의 내용]

- 데이터 분석가 필수 Tool SQL

- 데이터 분석가가 되기 위한 준비 SQL 코딩테스트

 

 

1️⃣ 함수 (FUNCTION)

미리 만들어진 계산 도구라고 생각하면 됨!

🔹 단일행 함수 (한 줄씩 계산)

  • 하나의 데이터에 기능 적용
  • 예:
    CEIL() – 올림
    ROUND() – 반올림
    TRUNCATE() – 버림
    CONCAT() – 문자열 합치기
    DATE_FORMAT() – 날짜 형식 바꾸기

🔹 다중행 함수 (여러 줄 요약)

  • 데이터를 모아서 통계처럼 계산
  • 예:
    SUM() – 합계
    AVG() – 평균
    COUNT() – 개수
    MIN() / MAX() – 최소/최대
    MEDIAN(), VAR() 등도 있음

2️⃣ 조건문 (CONDITION)

🔸 조건이 하나일 때: IF() 

IF(condition, 값1, 값2)

예: 나이가 20 이상이면 ‘성인’, 아니면 ‘청소년’

 

🔸 조건이 여러 개일 때: CASE WHEN 

CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ELSE 기본값 END
 

🔸 결측값 처리: IFNULL() 

IFNULL(column, 대체값)

값이 비어 있으면 대체값으로 채워줌


3️⃣ GROUP BY / HAVING

🔹 GROUP BY

  • 같은 값을 가진 데이터끼리 묶기
  • 묶인 그룹의 평균, 합계 등을 계산할 수 있음

🔹 HAVING

  • 그룹으로 묶은 이후에 조건 걸기
 
SELECT continent, SUM(population) AS population
FROM country
GROUP BY continent
HAVING population >= 500000000;

🔸 WHERE는 GROUP BY 전에, HAVING은 GROUP BY 후에 사용함


4️⃣ JOIN – 테이블 합치기

종류설명
INNER JOIN 양쪽 테이블에 모두 있는 것만
LEFT JOIN 왼쪽 테이블 기준 다 보여줌
RIGHT JOIN 오른쪽 테이블 기준 다 보여줌
OUTER JOIN 양쪽 다 합쳐서 보여줌 (UNION으로 구성됨)
CROSS / SELF 특수한 경우, 모든 조합 or 자기 자신과 연결

👉 공통된 컬럼(보통 외래키)을 기준으로 테이블 연결함


5️⃣ SUB QUERY – 서브쿼리

  • 쿼리 안에 또 다른 쿼리를 쓰는 방법
  • SELECT, FROM, WHERE 안에서 쓸 수 있음
 
SELECT name
FROM country
WHERE population > (
  SELECT population FROM country WHERE code = 'KOR'
);

유지보수에 유리하고, 복잡한 조건을 더 깔끔하게 쓸 수 있음!

 

 

💎 SQL 핵심 정리 (추가편)

🧮 기본 데이터 타입

데이터 타입설명
INT 숫자 (정수)
VARCHAR(n) 글자 (최대 n자까지)
DATE 날짜 (YYYY-MM-DD 형식)

🏗️ 데이터베이스 다루기

📌 데이터베이스 만들기

CREATE DATABASE dbname;

📌 목록 보기

SHOW DATABASES;

📌 사용하기

USE dbname;

📌 삭제하기

DROP DATABASE dbname; DROP DATABASE IF EXISTS dbname;

📋 테이블 다루기

📌 테이블 만들기

CREATE TABLE tablename ( column1 datatype, column2 datatype );

📌 테이블 이름 바꾸기

ALTER TABLE old_name RENAME new_name;

📌 테이블 삭제하기

DROP TABLE tablename; DROP TABLE IF EXISTS tablename;

📌 테이블 값만 지우기 (형식 유지)

TRUNCATE TABLE tablename;

🧱 컬럼 조작하기

작업SQL 문법
컬럼 추가 ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입;
컬럼 타입 변경 ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 새타입;
컬럼 이름+타입 변경 ALTER TABLE 테이블명 CHANGE COLUMN 기존컬럼 새이름 새타입;
컬럼 삭제 ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

✍️ 데이터 삽입, 수정, 삭제

📌 데이터 삽입

INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1', '값2');
 

📌 여러 개 한 번에 삽입

INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1', '값2'), ('값3', '값4');
 

📌 데이터 수정

UPDATE 테이블명 SET 컬럼명 = 새값 WHERE 조건;
 

📌 데이터 삭제

DELETE FROM 테이블명 WHERE 조건;

🧮 그룹화 함수 요약

함수설명
COUNT() 개수 세기
SUM() 합계
AVG() 평균
MIN() / MAX() 최소 / 최대

🔄 쿼리 실행 순서

키워드작성 순서실행 순서
SELECT 1 5
FROM 2 1
WHERE 3 2
GROUP BY 4 3
HAVING 5 4
ORDER BY 6 6