정렬 - ORDER BY
1. ORDER BY로 검색 결과 정렬하기
나이를 기준으로 오름차순 정렬
2. ORDER BY DESC로 내림차순으로 정렬하기
=> DESC를 붙이면 내림차순으로 정렬이 가능하다.
아무것도 붙이지 않으면 기본 오름차순으로 정렬된다.
3. 대소관계
a열은 데이터 타입이 문자열형이고, b는 수치형이다.
따라서 각 기준으로 정렬을 했을 때 결과가 달라지는 것을 확인할 수 있다.
(a 기준은 사전식 정렬, b 기준은 수치 대소비교)
=> 수치형 데이터는 수치의 대소관계로, 문자열형 데이터의 대소관계는 사전식 순서에 의해 결정된다.
4. ORDER BY는 테이블에 영향을 주지 않는다.
=> SELECT 명령은 데이터를 검색하는 명령이다. 이는 테이블의 데이터를 참조만 할 뿐 변경은 하지 않는다.
복수의 열을 지정해 정렬하기
1. 복수 열로 정렬 지정
- ORDER BY로 복수 열 지정하기
먼저 a를 기준으로 정렬하고, 값이 같은 부분은 b열로 정렬하게 된다.
=> ORDER BY 구에 콤마(, ) 로 열 명을 구분해 지정할 수 있다.
2. 정렬방법 지정하기
=> 각 열에 대해 개별적으로 정렬방법을 지정할 수 있다.
3. NULL 값의 정렬순서
NULL에 대한 대소비교 방법은 표준 SQL에도 규정되어 있지 않아 데이트베이스 제품에 따라 기준이 다름.
MySQL의 경우는 NULL 값을 가장 작은 값으로 취급해 ASC(오름차순)에서는 가장 먼저,
DESC(내림차순)에서는 가장 나중에 표시합니다.
Oracle의 경우는
ORDER BY a NULLS FIRST;
다음과 같이 정렬하면 NULL 값을 가진 행이 먼저 출력되고,
NULLS LAST로 정렬하면 NULL 값을 가진 행이 나중에 출력된다.
'SQL > SQL 첫걸음' 카테고리의 다른 글
13강[문자열 연산], 14강[날짜 연산] (0) | 2022.10.04 |
---|---|
11강[결과 행 제한하기 - LIMIT], 12강[수치 연산] (0) | 2022.10.03 |
7강[조건 조합하기], 8강[패턴 매칭에 의한 검색] (1) | 2022.09.29 |
5강[테이블 구조 참조하기], 6강[검색 조건 지정하기] (1) | 2022.09.28 |
3강[데이터베이스 서버], 4강[Hello World 실행하기] (0) | 2022.09.27 |