πŸ—‚οΈSQL ORDER BY 닀쀑 μ •λ ¬ λΉŒλ”

μ •λ ¬ ν‚€λ₯Ό μˆœμ„œλŒ€λ‘œ 적으면 ORDER BY μ ˆμ„ λ§Œλ“€κ³ , NULL μœ„μΉ˜ μ§€μ‹œκ°€ μ•ˆ λ˜λŠ” DB λŠ” λŒ€μ²΄ μ‹μœΌλ‘œ λ°”κΏ” μ€λ‹ˆλ‹€.

두 번째 μΉΈμ—λŠ” ASC λ˜λŠ” DESC, μ„Έ 번째 μΉΈμ—λŠ” NULLS FIRST λ˜λŠ” NULLS LAST λ₯Ό μ μŠ΅λ‹ˆλ‹€. μ„Έ 번째 칸은 λΉ„μ›Œ λ‘˜ 수 μžˆμŠ΅λ‹ˆλ‹€. 컬럼 이름은 μ˜λ¬ΈΒ·μˆ«μžΒ·λ°‘μ€„λ§Œ μ“΄ ν˜•νƒœλ§Œ ν†΅κ³Όμ‹œν‚€κ³ , ν•¨μˆ˜ ν˜ΈμΆœμ΄λ‚˜ 식을 μ •λ ¬ ν‚€λ‘œ μ“°λŠ” 것은 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ΄€λ ¨λœ 도ꡬ

도ꡬ μ„€λͺ…

μ •λ ¬ ν‚€λ₯Ό μš°μ„ μˆœμœ„ μˆœμ„œλŒ€λ‘œ 적으면 ORDER BY μ ˆμ„ λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€. μ»¬λŸΌλ§ˆλ‹€ μ˜€λ¦„μ°¨μˆœκ³Ό λ‚΄λ¦Όμ°¨μˆœμ„ κ³ λ₯΄κ³ , NULL 을 μ•žμ— λ‘˜μ§€ 뒀에 λ‘˜μ§€λ„ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹λ³„μž 인용 방식을 κ³ λ₯΄λ©΄ μ“°λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— λ§žλŠ” ν˜•νƒœλ‘œ λ‚˜μ˜€κ³ , 맨 뒀에 덧뢙일 고유 μ»¬λŸΌμ„ 적으면 κ·Έ ν‚€κΉŒμ§€ 포함해 μ ˆμ„ μ™„μ„±ν•©λ‹ˆλ‹€.

NULL μœ„μΉ˜ μ§€μ‹œλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ§ˆλ‹€ 지원이 λ‹€λ¦…λ‹ˆλ‹€. PostgreSQL 은 NULLS FIRST 와 NULLS LAST λ₯Ό κ·ΈλŒ€λ‘œ λ°›μ§€λ§Œ MySQL κ³Ό MariaDB μ—λŠ” 이 μ§€μ‹œκ°€ μ—†μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ MySQL 을 κ³ λ₯΄λ©΄ ν•΄λ‹Ή 컬럼 μ•žμ— IS NULL 식을 μ •λ ¬ ν‚€λ‘œ ν•˜λ‚˜ 더 λ„£μ–΄ 같은 μˆœμ„œλ₯Ό λ§Œλ“€κ³ , μ–΄λŠ ν‚€λ₯Ό κ·Έλ ‡κ²Œ λ°”κΏ¨λŠ”μ§€ μ•Œλ € μ€λ‹ˆλ‹€. 각 λ°μ΄ν„°λ² μ΄μŠ€κ°€ λ¬Έμ„œμ— 밝힌 κΈ°λ³Έ NULL μœ„μΉ˜λ„ ν•¨κ»˜ 보여 μ€λ‹ˆλ‹€.

이 λ„κ΅¬λŠ” ORDER BY 절만 λ§Œλ“­λ‹ˆλ‹€. 쑰건 μ ˆμ΄λ‚˜ ν…Œμ΄λΈ” 생성 λ¬Έμž₯은 닀루지 μ•Šκ³ , ν•¨μˆ˜ ν˜ΈμΆœμ΄λ‚˜ 계산식을 μ •λ ¬ ν‚€λ‘œ μ“°λŠ” 것, μ‚¬μš©μž μ •μ˜ μ •λ ¬ μˆœμ„œ, λŒ€μ†Œλ¬Έμž ꡬ뢄 κ·œμΉ™λ„ μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ •λ ¬ μ„±λŠ₯μ΄λ‚˜ 인덱슀 μ‚¬μš© μ—¬λΆ€λ₯Ό μ˜ˆμΈ‘ν•΄ 주지도 μ•ŠμŠ΅λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

MySQL μ—μ„œ NULL 을 λ’€λ‘œ 보내렀면 μ–΄λ–»κ²Œ ν•˜λ‚˜μš”?

IS NULL 식을 μ •λ ¬ ν‚€λ‘œ ν•œ 단계 μ•žμ— λ„£μŠ΅λ‹ˆλ‹€. 이 식은 NULL 인 ν–‰μ—μ„œ 1, κ·Έ λ°–μ—λŠ” 0 이 λ˜λ―€λ‘œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λ©΄ NULL 이 λ’€λ‘œ κ°‘λ‹ˆλ‹€. 이 도ꡬ가 MySQL 을 κ³ λ₯΄λ©΄ κ·Έ ν˜•νƒœλ‘œ λ°”κΏ” μ€λ‹ˆλ‹€.

맨 뒀에 고유 μ»¬λŸΌμ„ μ™œ λ§λΆ™μ΄λ‚˜μš”?

μ •λ ¬ ν‚€ 값이 같은 ν–‰λΌλ¦¬λŠ” μˆœμ„œκ°€ μ •ν•΄μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 같은 쿼리λ₯Ό 두 번 싀행해도 μˆœμ„œκ°€ λ‹¬λΌμ§ˆ 수 μžˆμ–΄, νŽ˜μ΄μ§€λ₯Ό λ‚˜λˆ  읽을 λ•Œ 행이 κ²ΉμΉ˜κ±°λ‚˜ λΉ μ§‘λ‹ˆλ‹€. 맨 뒀에 κ³ μœ ν•œ 값을 ν•˜λ‚˜ λ„£μœΌλ©΄ μˆœμ„œκ°€ 항상 κ°™μ•„μ§‘λ‹ˆλ‹€.

이 도ꡬ가 ν•˜μ§€ μ•ŠλŠ” 것은 λ¬΄μ—‡μΈκ°€μš”?

쑰건 절 μž‘μ„±, ν•¨μˆ˜λ‚˜ 계산식 μ •λ ¬, μ‚¬μš©μž μ •μ˜ μ •λ ¬ μˆœμ„œ, μ„±λŠ₯ μ˜ˆμΈ‘μ€ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 컬럼 이름 κΈ°μ€€μ˜ ORDER BY 절만 λ§Œλ“­λ‹ˆλ‹€.