빠뽀만스 마케터니 오레와 나루
로그인
빠뽀만스 마케터니 오레와 나루
로그인
WIL2주차
아뇨 민균데요
·
2025년 5월 23일
팔로우
0
0
SQL, 이걸로 단권화 완료
목록 보기
17/21
💻 WIL: SQL 배우며 깨달은 점들 (Feat. 집중력과의 싸움)
📌 1. SQL은 결국 SELECT부터 정복하는 것
SQL 쿼리는 쓰는 순서랑 실행 순서가 다름. FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY 순서로 실행됨.
WHERE에서 집계 함수 못 쓰는 이유는 GROUP BY 이후에 계산되기 때문임. 그래서 HAVING 써야 함.
📌 2. JOIN은 관계형 데이터베이스의 핵심
JOIN에는 INNER, LEFT, RIGHT, FULL 있음. 근데 실무에선 거의 INNER JOIN 아니면 LEFT JOIN 씀.
PK와 FK를 기준으로 조인해야 중복이나 누락 없이 안정적임.
일반 칼럼끼리도 조인 되긴 하는데, 무결성이 깨질 수 있어서 추천 안 함.
CROSS JOIN은 진짜 잘 안 씀. 모든 경우의 수 다 곱하는 거라서 실수하면 큰일 남.
📌 3. 서브쿼리, CTE는 다 이유가 있음
서브쿼리는 SELECT 안에 SELECT 넣는 것. 괄호 꼭 써야 함.
FROM 안에 들어가는 서브쿼리는 테이블처럼 쓰이고, WHERE 절에는 조건 줄 때 자주 씀.
CTE(Common Table Expression)는 WITH 구문. 가독성 좋아지고 재귀 쿼리도 가능함.
📌 4. GROUP BY + 집계 함수 제대로 쓰는 법
count(), sum(), avg() 등 집계 함수는 GROUP BY 이후에 써야 함.
HAVING 절은 GROUP BY 다음에 필터링할 때 씀. alias를 HAVING에서 바로 쓰는 건 MySQL에선 가능하지만, 다른 DBMS에선 안 되는 경우도 있어서 조심.
📌 5. 윈도우 함수는 신세계였음
row_number(), rank(), dense_rank() 등은 PARTITION BY랑 ORDER BY 조합해서 쓰면 됨.
집계 함수랑 다르게 윈도우 함수는 필터링이 아니라 순위 매기거나 누적합 같은 걸 구할 때 씀.
윈도우 함수랑 GROUP BY는 같이 쓰기 가능. 쓰는 목적이 다르다는 걸 인지할 것.
📌 6. 집중력 떨어질 땐, 문제 나눠서 보기
긴 쿼리는 조인 단계별로 나눠서 확인하는 게 좋았음.
괄호 하나라도 틀리면 에러 나니까, 조인이나 서브쿼리 쓸 땐 들여쓰기 꼭 하자.
내가 쓴 쿼리를 내가 못 읽으면 무조건 리팩토링하기.
📌 7. 놓치기 쉬운 개념들
NULL값 조심할 것. IS NULL / IS NOT NULL로 체크해야 함.
COALESCE 써서 NULL을 다른 값으로 바꿔주는 것도 기억할 것.
'중복된 값 제거'는 DISTINCT, '갯수 세기'는 COUNT(DISTINCT 컬럼)로 구분해서 써야 함.
아뇨 민균데요
this man을 꿈 속에서 보신 적이 있으신가요?
팔로우
이전 포스트
정규화 개념 누구보다 쉽게 알기|1NF,2NF,3NF
다음 포스트
5.27 PYTHON | DAY3 | 3회차 톺아보기1 | if/for-in-print/range
0개의 댓글
댓글 작성