본문 바로가기

언어 기초/DBMS

[SQL 첫걸음 | 3장 정렬과 연산] 정렬

1. 학습목표

검색 데이터를 다양하게 정렬시킬 수 있다.

ORDER BY에 대해 이해할 수 있다.

2.필요 개념 문장정리

ORDER BY

  • SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명
  • SELECT명령에 ORDER BY 구를 지정하면 검색 경과의 행 순서를 바꿀 수 있다.
  • ORDER BY 구는 WHERE 구 뒤에 지정한다.
  • 검색 조건이 필요없는 경우에는 WHERE 구를 생략하는데 이때 ORDER BY 구는 FROM구의 뒤에 지정한다.
  • 내림차순은 열명 뒤에 DESC를 붙여 지정한다.
  • 오름차순은 내림차순과 달리 생략 가능하며 ASC로도 지정할 수 있다.
  • DESC는 decendant하강 ASC는 ascendant상승의 약자이다.
  • ORDER BY의 기본 정렬방법은 오름차순이다.
  • 날짜시간형 데이터도 수치형 데이터와 마찬가지로 숫자 크기로 판별한다.
  • 문자열 데이터는 알파벳, 한글 순이고 한글은 자음, 모음순이다. 사전식 순서에 의해 대소관계가 결정된다.
  • OREDER BY는 서버에서 클라이언트로 행 순서를 바꾸어 결과를 반환하는 것뿐 저장장치에 저장된 데이터의 행 순서를 변경하는 것은 아니다.

출처 - SQL첫걸음

보수열 지정해 정렬하기

  • SELECT 열명 FROM 테이블명 WHERE 조건식
    ORDER BY 열명1 ASC/DESC ,열명2 ASC/DESC
  • 같은 값을 가진 행의 순서는 일정하지 않다.
  • ORDER BY 구에는 복수로 열을 지정할 수 있다. 
  • MYSQL의 경우는 NULL값을 가장 작은 값으로 취급해 ASC에서는 가장먼저 DESC에서는 가장 나중에 표시한다.

출처 - SQL첫걸음

LIMIT

  • SELECT 열명 FROM 테이블명 LIMIT 행수 OFFSET 시작행
  • LIMIT 구를 사용해 표시할 행수를 제한할 수 있다.
  • LIMIT구는 표준 SQL은 아니다. MySQL, PostgreSQL에서 사용할 수 있는 문법이다.
  • LIMIT로 지정하는 것은 최대 행수 이다.
  • LIMIT구에 OFFSET으로 지정하여 페이지를 나누어 결과값을 표시할 수 있다. 

출처 - SQL첫걸음

3. 마무리

ORDER BY를 통해 열명을 지정하여 데이터를 정렬할 수 있었다.