본문 바로가기

Programming/SQL

[SQL] 틈틈이 써둔 데이터리안 백문이불여일타 SQL 강의 노트🚀

인프런에서 쿠폰을 준 게 있길래 데이터리안[백문이 불여일타] 데이터 분석을 위한 중급 SQL강의를 들었다. 완강까지는 4일 정도 걸렸다. 이제껏 SQL 문제풀이는 해본 적 없었는데 HackerRank나 LeetCode에서 여러 문제를 같이 풀어볼 수 있어 좋았다.

 

[백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런 | 강의

인프런 누적 수강생 8000명 이상, 풍부한 온/오프라인 강의 경험을 가진 데이터리안의 SQL 중급 강의. SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다., - 강의 소개 | 인프런...

www.inflearn.com

 

SQL 기본은 알고 있고 문제는 풀어본 적 없다면 추천한다👍👍 차근차근 듣다 보면 어렵지 않게 따라갈 수 있으니 난이도 걱정은🙅‍♂️

 

아래는 강의를 듣다 틈틈이 써둔 내용이다.

노션에서 블로그로 이사❗


🙋‍♂️1일 차 - 2일 차

COUNT

  • NULL 값은 제외
  • DISTINCT로 중복 제거

AVG

  • NULL 값을 0으로 볼 것인지 아닌지 고려(나누는 수에 차이)

GROUP BY + 집계 함수

  • 그루핑 하고 싶은 컬럼 SELECT문에 넣기
  • 조건문은 HAVING으로 사용 (실행 순서❗)

CASE - END

  • 조건 순서 위에서 아래로 실행
  • 피벗테이블 만들 때 사용 가능

🍯TIP

  • SELECT문에서는 들여 쓰기로 가독성 높이고 주석 쓰기 편하게 하기
  • 주석한 줄 — 여러 줄 /* */
  • 소수점 처리 시 올림 CEIL, 내림 FLOOR, 반올림 ROUND(값, 자릿수)

🙋‍♂️3일 차

JOIN

: 두 개 이상 테이블에서 사용

→  RDB에서는 null값이나 중복 값이 들어가 공간이 낭비되는 걸 막기 위해 테이블을 나눈다.

→  즉, 효율을 위해 key값만 맞추고 쪼갠다.

 

헷갈릴 때는 아래 사이트 참고

 

SQL Joins Visualizer

Please select how do you want to do SQL JOIN between two table Copy SQL

sql-joins.leopard.in.ua

INNER JOIN

  • 두 테이블의 교집합
  • 여러 줄 작성하기 가능 ⇒ 헷갈리니까 연습할 땐 AS 쓰면서 구분

LEFT JOIN, RIGHT JOIN

  • INNER JOIN이 아니면 전부 OUTER JOIN
  • LEFT JOIN은 왼쪽 데이터 기준 ⇒ 왼쪽 데이터는 싹 다 쓰겠다는 거
  • 주로 LEFT JOIN만 사용 ⇒ 테이블 순서만 바꿔주면 되니까 굳이 RIGHT까지❌

🍯TIP

  • 테이블 별명인 AS를 FROM에서 써서 코드를 간결하고 이해하기 쉽게 만들기
  • NULL 확인해야 할 때는 = 아님 무조건 IS
  • 날짜 계산 시 DATE_ADD(date, INTERVAL 1 MONTH)처럼 사용.

🙋‍♂️ 4일 차

UNION

  • 데이터 이어 붙일 때 사용
  • UNION에서는 중복 제거가 기본 값이고 전부 출력 시 UNION ALL 사용

🍯TIP

  • SELECT는 SELECT ALL과 같은 기능이며 중복 제거 시 DISTINCT 옵션 사용
  • MySQL에서 full outer join을 구현하고 싶으면 LEFT + UNION + RIGHT
  • UNION에서의 정렬은 각 SELECT문이 아닌 마지막 쿼리에서 사용
  • GROUP BY 할 때 2개 이상의 컬럼 사용 가능

 

완강하면 이런 멋드러진 수료인증서도 준다. 

 

쪼금 기분 좋음ㅎ