SQL 첫걸음 - 3장 정렬(ORDER BY)(1/6)
1. ORDER BY로 검색 결과 정렬하기
SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 지정한 열의 값에 따라 행의 순서가 바뀜.
2. ORDER BY DESC로 내림차순 정렬하기
오름차순 정렬
SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 ASC 오름차순은 생략 가능.
ORDER BY의 기본 정렬방법은 오름차순.
내림차순 정렬
SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명 DESC DESC는 descendant(하강), ASC는 ascendant(상승)의 약자.
3. 대소관계
작은 것에서 큰 것 순으로 정렬: ASC
큰 것에서 작은 것 순으로 정렬 : DESC
수치형 : (작다) 1 < 2 < 10 < 100 (크다)
날짜시간형 : (작다=이전) 1999년 < … < 2013년 < 2014년 (크다=최근)
문자열형 : 가방 < 가족 < 나비 ==> 문자열형 데이터의 데소관계는 사전식 순서에 의해 결정
a열은 문자열형(VARCHAR) / b열은 수치형(INTEGER)
1번째 쿼리는 a열이 문자열형(VARCHAR)으로 되어있어 대소관계를 사전식 순서로 비교,
2번째 쿼리는 b열이 수치형(INTEGER)으로 되어있어 대소관계를 수치값으로 비교
문자열형 열에 숫자 데이터를 저장하는데 문제가 되진 않지만, 문자열형 열에 숫자를 저장하면 문자로 인식되 대소관계의 계산 방법이 달라짐.. 따라서 정렬이나 비교연산을 할 때 이 점을 주의.
4. ORDER BY는 테이블에 영향을 주지 않는다.
ORDER BY를 이용해 행 순서를 바꿀 수는 있지만, 서버에서 클라이언트로 행 순서를 바꾸어 결과를 반환하는 것뿐, 저장장치에 저장된 데이터의 행 순서를 변경하는 것은 아님.
출처 : https://smilejh.tistory.com/