[SQL] 정렬(ORDER BY)

박경국·2022년 5월 12일
0

SQL

목록 보기
1/14
post-thumbnail

SQL 관련하여 오늘 학습한 내용을 정리했습니다.

데이터를 정렬하면 특정 컬럼의 대략적인 특징을 유추할 수도 있고, 이상값을 찾기도 쉬워집니다. 오름차순과 내림차순, 같은 값일 때 정렬 방법 등 SQL에서 데이터를 정렬하는 방법을 정리했습니다.

일반적인 정렬(오름차순/내림차순)

  • SQL에서 정렬은 ORDER BY를 사용합니다.
SELECT * FROM user
ORDER BY age;
  • user 테이블을 age에 따라 정렬합니다. 오름차순, 내림차순을 정하지 않으면 기본적으로 오름차순으로 정렬됩니다.
  • 내림차순으로 정렬하고 싶을 땐 아래와 같이 추가적인 조건을 달아줍니다.
SELECT * FROM user
ORDER BY age DESC;

조건문과 함께 사용

  • 조건문과 함께 사용할 때는 조건문을 먼저 써야합니다.
SELECT * FROM user
WHERE gender = 'male'
ORDER BY age DESC;

정렬 조건을 추가하는 방법

  • 나이를 기준으로 정렬할 때 만약 같은 나이라면 어떻게 정렬될까요?
  • 이런 상황에선 primary key를 기준으로 정렬됩니다. PK가 앞서는 데이터가 우선적으로 정렬됩니다.
  • 정렬 조건을 추가해서 첫 번째 조건이 같은 상황에 대처하고 싶다면 아래와 같이 조건을 추가합니다.
SELECT * FROM user
WHERE gender = 'male'
ORDER BY age DESC, name ASC;
  • 콤마(,)를 써서 다음 조건을 추가하면 됩니다. 나이로 우선 정렬한 뒤 같은 나이에 대해서는 이름을 비교하여 정렬합니다.

0개의 댓글