1. 예약어는 대문자로
SELECT, FROM, GROUP BY, HAVING, AS, AND 와 같은 SQL 예약어를 대문자로 쓰는 습관
2. 행갈이를 자주 하자
SELECT day,
, time
, SUM(total_bill)
FROM tips
GROUP BY day, time
위와 같이 작성했을 때 각 라인의 예약어만 확인해도 작성자의 의도와 코드 구조를 쉽게 파악할 수 있음
3. 행갈이를 더 자주 하자
SELECT day,
, time
, SUM(total_bill)
FROM tips
WHERE sex = 'Female'
AND smoker = 'Yes'
GROUP BY day
, time
위의 예시처럼 코드를 작성하는 것은 주석 처리 시 용이
SELECT day,
-- , time
, SUM(total_bill)
FROM tips
WHERE sex = 'Female'
AND smoker = 'Yes'
GROUP BY day
-- , time
4. 주석을 쓰자
코드를 쓴 의도를 짧게 적어 놓는 습관
특히, 서브쿼리가 많아지고 코드가 길어질수록 필요
SELECT AVG(sales) avg_sales
FROM (
-- 요일별 매출액 합계 계산
SELECT day --일별 X, 요일별 O
, SUM(total_bill) sales
FROM tips
WHERE sex = 'Female' -- 결제자의 성별이 여성인 경우
GROUP BY day
) daily_sales
서브쿼리 단위, CASE, IF 조건문 또는 WHERE 절 필터링 조건을 쓸 때 적어주기
- 서브쿼리의 단위로 의미 작성
- 컬럼 이름만 보고 해석에 오해가 있을 수 있거나 추가 설명이 필요한 경우
- 조건이 왜 필요하는지, 어떻게 동작하는지
5. Alias를 잘 쓰자
주석을 잘 적는 것도 중요하지만 코드를 잘 써야 전체를 빠르게 이해할 수 있음
=> Alias를 대충 쓰지 말자
가장 중요한 건 합의된 규칙
내가 같이 일하는 사람들과 합의된 규칙이 중요
내가 아닌 다른 사람도 본다고 생각하며 코드 작성
인사이트
평소 SQL문을 작성할 때 행갈이를 자주 하지 않았는데 확실히 비교해보니 행갈이를 한 문장이 가독성이 훨씬 좋았다. 작성 시의 편리성 대신 의미 파악을 위한 코드를 작성해야겠다고 느꼈다. 또, 행갈이를 했을 경우 추후 주석 처리가 용이하다는 점도 알았다.
SQL 가독성을 높이는 다섯 가지 사소한 습관 | 요즘IT
지독하게 읽기 힘든 SQL 문을 해석해 본 적 있으신가요? 마치 암호를 읽는 것처럼 어렵습니다. 파이선처럼 들여쓰기와 띄어쓰기를 문법적으로 강제하는 언어를 사용해 봤다면 SQL의 자유로움에
yozm.wishket.com
'DATA 사전캠프' 카테고리의 다른 글
5일차 아티클 스터디: SQL 질문 잘 하는 방법 (1) | 2024.11.08 |
---|---|
4일차 SQL 스터디: 상품 주문이 들어왔으니 주문을 처리해 봅시다! (0) | 2024.11.07 |
4일차 아티클 스터디: 데이터 분석가가 되어보니 중요한 것들 (0) | 2024.11.07 |
3일차 SQL 스터디: 이제 좀 벌었으니 flex 한 번 해볼까요? (0) | 2024.11.06 |
3일차 아티클 스터디: 그 데이터는 잘못 해석되었습니다 (0) | 2024.11.06 |