SQL

[SQL] 정렬

YJ.Cha 2021. 7. 4. 23:19

* 행 정렬
1. 검색 결과 오름차순 정렬 (order by)
select 열명 from 테이블명 (where 조건식) order by 열명 
ex) select * from sample31 order by age;

2. 내림차순 정렬 (order by desc)
select 열명 from 테이블명 (where 조건식) order by 열명 desc
+ desc는 descendant(하강)의 약자!

*주의! 수치형과 문자열형 데이터는 대소관계의 계산 방법이 다르다.
문자열형 데이터는 사전식 순서로 정렬되므로 숫자 데이터가 문자열형 열에 입력되어 있을 경우 정렬 결과에 유의해야 한다.


*복수 열 지정하여 정렬
select 열명 from 테이블명 order by 열명1, 열명2...

이 때, 정렬 순서는 지정한 열명의 순서를 따른다. 값이 같이 순서를 결정할 수 없는 경우에는 다음으로 지정한 열명을 기준으로 정렬한다.


*정렬방법 지정하기
select 열명 from 테이블명 order by 열명1 [asc 혹은 desc], 열명2 [asc 혹은 desc]...

+asc는 ascendant(상승)의 약자!
+대괄호[]는 생략 가능
ex) select * from sample32 order by a asc, b desc;


*Null 값의 정렬 순서
- order by로 지정한 열에서 null 값을 가지는 행은 가장 먼저 표시되거나 가장 나중에 표시됨. 데이터베이스 제품에 따라 기준 다름.
- MySQL의 경우, null 값을 가장 작은 값으로 취급.

출처: SQL첫걸음