근거 있는 일하기_SQL
ORDER BY
은행 다니는 하이디
2024. 4. 13. 22:11
기본적으로 데이터는 값을 입력한 순서로 빈 공간부터 채워서 저장된다.
그래서 우리가 값을 원하는 형태로 예쁘게 보려면 정렬해야 하는데 이때 쓰는 것이 ORDER BY
기본 값은 ASC (오름차순) 이고
ORDER BY DESC ; 하면 반대 순서로 만들 수 있다. 문자도 오름/내림차순이 있다.
• ASC : 오름차순(A→Z순, ㄱ→ㅎ 순, 1→10순)
• DESC : 내림차순 (Z→A순, ㅎ→ㄱ순, 10→1순)
두개씩 쓸 수도 있다. 엑셀에서 정렬하는 것처럼, 일단 직무별로 내림차순 정렬하고, 그 다음 입사일 순서로 오름차순하는 식이다.
추가지식
- SELECT에 들어간 순서대로 1,2,3 순서를 정해서 써도 된다. 위 문장의 경우에는
ORDER BY 1 DESC, 3 (ASC) ; 이렇게 해도 똑같이 나옴 - NULL값이 있는 경우 기본은 NULLS FIRST 널값이 먼저나옴. 뒤에 나오게 하고 싶다면 NULLS LAST 쓰면됨
- ORDER BY의 실행순서는 마지막이기 때문에, SELECT에서 보여주기로 한 행 모습대로 (연산을 썼다면 동일하게 연산을 써서) 표현해야 한다
- SELECT에 없는 컬럼을 기준으로 정렬할 수도 있다 (물론 나만 아는 의미없는 정렬이 되긴 함)