1. SQL Style Guide
SQL style guide by Simon Holywell
A consistent code style guide for SQL to ensure legible and maintainable projects
www.sqlstyle.guide
[μμ½μ 리]
SQL μμ± μ μΌκ΄μ±κ³Ό κ°λ μ±μ μ½λ μ μ§λ³΄μμ νμ μμ ν΅μ¬ μμλ€. νΉν μ¬λ¬ μ¬λμ΄ νμ νλ νλ‘μ νΈμμλ ν΅μΌλ μ€νμΌλλ‘ νλ κ²μ΄ μ€μνλ°, νλ‘κ·Έλλ° μ½λλΏλ§ μλλΌ SQLλ λ§μ°¬κ°μ§λ€.
μ€λ λ΄κ° μ½μ SQL μ€νμΌ κ°μ΄λλ μ΄λ¬ν μΌκ΄λ μ€νμΌμ μ μ§νλ λ° νμν λΆλΆκ³Ό κ°μ΄λ λΌμΈμ μ μνλ€.
SQL μ€νμΌ κ°μ΄λμ μ£Όμ λ΄μ©κ³Ό μ΄λ₯Ό ν΅ν΄ μ»μ μ μλ ν¨κ³Όμ λν΄ μ 리ν΄λ³΄κ² λ€.
1. SQL μ€νμΌ κ°μ΄λλ?
- SQLλ¬Έ μμ±μ λ°λΌμΌ ν μΌκ΄λ μ½λ© κ·μΉμ μ 곡νλ κ°μ΄λ
- λ€μ΄λ° κ·μΉλΆν° λ€μν μ€νμΌ μμλ₯Ό ν¬ν¨ν SQL μ½λμ μΌκ΄μ±μ λμ΄κ³ κ°λ μ±μ κ°μ ν΄ μ€λ€
- κ°μ΄λμ λ§μΆ° μμ±νλ©΄ SQL μΏΌλ¦¬κ° νλμ λ€μ΄μ€κ³ νμ μ΄ μμν΄μ§λ€!
2. μ£Όμ μ€νμΌ κ°μ΄λ
2.1. λμλ¬Έμ μ¬μ©
- ν€μλλ λλ¬Έμ: SELECT, FROM, WHEREμ κ°μ SQL ν€μλλ λλ¬Έμλ‘ κ°μ‘°
- ν μ΄λΈ, μ΄ μ΄λ¦μ μλ¬Έμ: μΌκ΄μ± μ μ§
SELECT student_id, first_name, last_name
FROM student
WHERE sex = 'F';
2.2. μΈλ΄νΈμ μ€ λ°κΏ
- μ λ ¬λ μΈλ΄νΈ: κ° μ λ§λ€ μ€μ λ°κΏ μμ±νκ³ , νμν κ²½μ° νΉμ λΆλΆμ μΈλ΄νΈνλ€
- μ‘°κ±΄λΆ μ€ λ°κΏ: AND, OR κ°μ μ‘°κ±΄μ΄ λΆλ κ²½μ° μ μ€μ μμ±νμ¬ κ°λ μ±μ μ±κΈ΄λ€
SELECT student_id, first_name, last_name
FROM student
WHERE sex = 'F'
AND enroll_date > '2023-03-02';
2.3. ν μ΄λΈ, μ΄ μ΄λ¦
- λ¨μν ν μ΄λΈ μ΄λ¦: 볡μν λμ λ¨μν μ¬μ©νμ¬ κ°κ²°νκ² νννκΈ°
- λͺ νν μ΄ μ΄λ¦: id, nameλ³΄λ¨ student_id, student_nameκ³Ό κ°μ΄ λͺ νν μ΄λ¦μ λΆμ¬ μλ―Έλ₯Ό λΆλͺ ν νκΈ°
2.4. μ£Όμ μ²λ¦¬
- λ¨μΌ μ€ μ£Όμ: '--'λ₯Ό μ¬μ©νμ¬ νμν λΆλΆμ μ£Όμ μΆκ°. μ½λ λͺ©μ μ μ€λͺ ν΄ μ£Όμ΄ μ μ§λ³΄μκ° μ½λ€
-- 2023λ
3μ 2μΌ μ΄ν μ
νν μ¬νμ κ°μ Έμ€λ 쿼리
SELECT student_id, first_name, last_name
FROM student
WHERE sex = 'F'
AND enroll_date > '2023-03-02';
3. SQL μ€νμΌ κ°μ΄λ ν¨κ³Ό
1. κ°λ μ± ν₯μ: μΌκ΄λ μ½λλ‘ μΈν΄ λ μ½κ² μ½κ³ μ΄ν΄ν μ μμ΄, λλ²κΉ κ³Ό μ½λ 리뷰 μκ°μ μ€μΌ μ μλ€
2. νμ ν¨μ¨μ± μ¦κ°: λμΌν μ€νμΌμ μ μ§νλ©΄ νμ κ° μ½λ μ΄ν΄κ° μ¬μμ Έ, νμ μ΄ λ μννκ² μ§νλλ€
3. μ€λ₯ κ°μ: λͺ νν μΈλ΄νΈμ μΌκ΄λ λ€μ΄λ° κ·μΉμ ν΅ν΄ μ½λ μ€λ₯λ₯Ό μ¬μ μ λ§μ μ μλ€
4. μ μ§λ³΄μμ± κ°ν: μ§κ΄μ μ΄κ³ κΉλν μ½λλ₯Ό μμ±νλ©΄ ν₯ν μμ ν λ μ½κ² μ κ·Όν μ μ
π€ μ΄μ λν λμ μκ°
SQL μ€νμΌ κ°μ΄λλ₯Ό ν΅ν΄ SQL μ½λ μμ± μ κ°λ μ±κ³Ό μΌκ΄μ±μ μ μ§νλ κ²μ΄ μΌλ§λ μ€μνμ§ λ€μκΈ λλ μ μμλ€.
μμ κ·μΉλ€μ΄μ§λ§ μ΄λ₯Ό μ μ§ν€λ©΄ νμ ν λ ν¨μ¬ λ ν¨μ¨μ μΌλ‘ μμ ν μ μμ κ²μ΄λΌ μκ°νλ€.
κ·Έλμ SQL λ μ½λκ° μλλΌκ³ μκ°ν΄μ κ·Έλ°μ§.. κ°λ¨ν κ·μΉλ€μμλ μ μ§ν€μ§ μμ μλ κ·Έλμμ λλ₯Ό λ°μ±νκ² λμλ€
μμΌλ‘ SQL μμ± μ μ΄ κ°μ΄λλΌμΈμ μ€μνμ¬ λμ± κΉλνκ³ μ§κ΄μ μΈ μ½λλ₯Ό μμ±ν μ μλλ‘ μ κ²½ μ¨μΌκ² λ€!γ γ