Home > Archive > SQL_archive > πŸ’‰[SQL] ORDER BY

πŸ’‰[SQL] ORDER BY
SQL

ORDER BY

β€˜ORDER BY’ μ ˆμ€ SQL 쿼리의 κ²°κ³Όλ₯Ό νŠΉμ • 기쀀에 따라 μ •λ ¬ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이λ₯Ό 톡해 λ°˜ν™˜λœ 데이터λ₯Ό μ˜€λ¦„μ°¨μˆœ(ASC) λ˜λŠ” λ‚΄λ¦Όμ°¨μˆœ(DESC)으둜 μ •λ ¬ν•  수 있으며, 숫자, λ¬Έμžμ—΄, λ‚ μ§œ λ“± λ‹€μ–‘ν•œ 데이터 νƒ€μž…μ— μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • β€˜ORDER BY’ λŠ” 데이터λ₯Ό 보닀 읽기 쉽고 λΆ„μ„ν•˜κΈ° μš©μ΄ν•˜κ²Œ μ •λ ¬ν•˜μ—¬ μ œκ³΅ν•¨μœΌλ‘œμ¨, 데이터 λ¦¬ν¬νŒ…, μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ—μ„œμ˜ 데이터 ν‘œμ‹œ, 데이터 뢄석 λ“± λ‹€μ–‘ν•œ μƒν™©μ—μ„œ μœ μš©ν•˜κ²Œ μ‚¬μš©λ©λ‹ˆλ‹€.

β€˜OREDER BY’ μ‚¬μš© 예

  • νŠΉμ • 열에 λ”°λ₯Έ μ˜€λ¦„μ°¨μˆœ μ •λ ¬: 직원듀을 μ΄λ¦„μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³  싢을 λ•Œ
    SELECT * FROM emploees ORDER BY name ASC;
    

    이 μΏΌλ¦¬λŠ” β€˜employees’ ν…Œμ΄λΈ”μ˜ λͺ¨λ“  행을 β€˜name’ μ—΄ κΈ°μ€€μœΌλ‘œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜μ—¬ λ°˜ν™˜ν•©λ‹ˆλ‹€.

  • νŠΉμ • 열에 λ”°λ₯Έ λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬: μ΅œμ‹  μ£Όλ¬ΈλΆ€ν„° ν‘œμ‹œν•˜κ³  싢을 λ•Œ
    SELECT * FROM orders ORDER BY order_by DESC;
    

    이 μΏΌλ¦¬λŠ” β€˜orders’ ν…Œμ΄λΈ”μ˜ λͺ¨λ“  행을 β€˜order_date’ μ—΄ κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜μ—¬ λ°˜ν™˜ν•©λ‹ˆλ‹€.

  • μ—¬λŸ¬ 열에 λ”°λ₯Έ μ •λ ¬: λΆ€μ„œλ³„λ‘œ κ·Έλ£Ήν™”ν•˜κ³ , 각 λΆ€μ„œ λ‚΄μ—μ„œ κΈ‰μ—¬κ°€ 높은 순으둜 μ •λ ¬ν•˜κ³  싢을 λ•Œ
    SELECT * FROM employees ORDER BY department ASC, salary DESC;
    

    이 μΏΌλ¦¬λŠ” λ¨Όμ € β€˜department’ μ—΄λ‘œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³ , 같은 λΆ€μ„œ λ‚΄μ—μ„œλŠ” β€˜salary’ 열을 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•©λ‹ˆλ‹€.

β€˜ORDER BY’ 절의 νŠΉμ§•

  • 기본적으둜 β€˜ORDER BY’ λŠ” μ˜€λ¦„μ°¨μˆœ(ASC)으둜 μ •λ ¬ν•©λ‹ˆλ‹€. λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³  μ‹Άλ‹€λ©΄ 각 μ—΄ 이름 뒀에 β€˜DESC’ ν‚€μ›Œλ“œλ₯Ό λͺ…μ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • μ—¬λŸ¬ 열을 κΈ°μ€€μœΌλ‘œ μ •λ ¬ν•  수 있으며, 이 경우 첫 번째 열을 κΈ°μ€€μœΌλ‘œ μ •λ ¬ν•œ ν›„ λ™μΌν•œ 값에 λŒ€ν•΄μ„œλŠ” λ‹€μŒ μ—΄μ˜ μˆœμ„œμ— 따라 μ •λ ¬ν•©λ‹ˆλ‹€.
  • β€˜SELECT’ 쿼리의 λ§ˆμ§€λ§‰ 뢀뢄에 μœ„μΉ˜ν•˜λ©°, β€˜WHERE’, β€˜GROUP BY’, β€˜HAVING’ 절 뒀에 λͺ…μ‹œλ©λ‹ˆλ‹€.

μ‚¬μš© μ‹œ 고렀사항

  • β€˜ORDER BY’ λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” μ •λ ¬ν•˜κ³ μž ν•˜λŠ” 열이 μΈλ±μ‹±λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 특히 λŒ€κ·œλͺ¨ 데이터셋을 λ‹€λ£° λ•Œ, 인덱슀의 μœ λ¬΄λŠ” 쿼리 μ„±λŠ₯에 큰 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€.
  • λ³΅μž‘ν•œ μΏΌλ¦¬μ—μ„œλŠ” β€˜ORDER BY’ 둜 μΈν•œ 좔가적인 처리 μ‹œκ°„μ΄ ν•„μš”ν•  수 μžˆμœΌλ―€λ‘œ, μ„±λŠ₯κ³Ό κ΄€λ ¨ν•˜μ—¬ μ μ ˆν•œ ν…ŒμŠ€νŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€.

β€˜ORDER BY’ μ ˆμ€ SQL 쿼리의 κ²°κ³Όλ₯Ό μ‚¬μš©μžκ°€ μ›ν•˜λŠ” μˆœμ„œλ‘œ μ‰½κ²Œ μ •λ ¬ν•  수 있게 ν•΄μ£Όλ©°, λ°μ΄ν„°μ˜ 가독성과 λΆ„μ„μ˜ μš©μ΄μ„±μ„ 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.