07. SQL 오름차순, 내림차순 정렬하기 (DESC, ASC)

1. 7. SQL 오름차순, 내림차순 정렬하기 (DESC, ASC)

ORDER BY 구를 사용하여 검색결과의 행 순서를 바꿀 수 있다.

1.1. ORDER BY 구

1
SELECT 열명 FROM 테이블 명 WHERE 조건식 ORDER BY

1.1.1. ORDER BY로 검색 결과 정렬하기

  • 지정된 열의 값에 따라 행의 순서가 변경 됩니다.
1
2
3
4
5
6
 SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명
```
검색 조건이 필요 없는 경우에는 WHERE 구를 생략하는데 ORDER BY구는 FROM구의 뒤에 지정합니다.

```sql
SELECT 열명 FROM 테이블명 ORDER BY 열명

age 열로 정렬하기

1
SELECT * FROM sample31;
name age address
A씨 36 대구광역시 중구
B씨 18 부산광역시 연제구
C씨 25 서울특별시
1
SELECT * FROM  sample31 ORDER BY age;
name age address
B씨 18 부산광역시 연제구
C씨 25 서울특별시
A씨 36 대구광역시 중구

1.1.2. ORDER BY DESC로 내림 차순 정렬하기

1
SELECT 열명 FROM 테이블명 ORDER BY 열명 DESC

오름차순은 내림차순과 달리 생략이 가능하며, ASC로도 지정할 수 있습니다. ASC가 기본형입니다.

1.1.3. 대소 관계

  • 수치형 테이터라면 대소관계는 숫자의 크기로 판별
  • 날짜시간형도 마찬가지
  • 문자열형은 사전식으로 정렬

주의할 점

SELECT * FROM sample311
a b
1 1
2 2
10 10
11 11

a는 문자열형(VARCHAR) b열은 수치형(INTEGER)

a열을 오름차순으로 정렬한다면?

SELECT FROM sample311 ORDER BY a;

a b
1 1
10 10
11 11
2 2
  • 사전 순으로 비교했을때 발생하는 현상
  • 데이터를 넣는것은 아무런 문제가 되지 않는다.
  • 정렬이나 비교 연산을 할때는 이점에 주의 해야한다.

1.1.4. ORDER BY는 테이블에 영향을 주지 않는다

  • 어디까지나 서버에서 클라이언트로 행 순서를 바꾸어 변환것일뿐,
  • 저장장치에 저장된 데이터의 행 순서는 변경하지는 않는다.

데이터를 참조만 할 뿐이며 변경은 하지 않는다.