본문 바로가기
자격증/SQL개발자(SQLD)

3-8장. SQL 기본(ORDER BY 절)

by 김엉배 2023. 5. 27.
728x90
반응형

 

SQLD 단원별 목록으로


1. ORDER BY 정렬

- SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 칼럼을 기 준으로 정렬하여 출력하는데 사용한다.

- 칼럼(Column)명 대신에 SELECT 절에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능하다. 그리고 별도로 정렬

  방식을 지정하지 않으면 기본 적으로 오름차순이 적용되며, SQL 문장의 제일 마지막에 위치한다.

- ORDER BY 절에서 칼럼명, ALIAS명, 칼럼 순서를 같이 혼용하는 것도 가능하다.

 


2. SELECT 문장 실행 순서

- GROUP BY 절과 ORDER BY가 같이 사용될 때 SELECT 문장은 6개의 절로 구성이 되 고, SELECT 문장의 수행 단계는 아래와 같다.

1) 발췌 대상 테이블을 참조한다. (FROM)

2) 발췌 대상 데이터가 아닌 것은 제거한다. (WHERE)

3) 행들을 소그룹화 한다. (GROUP BY)

4) 그룹핑된 값의 조건에 맞는 것만을 출력한다. (HAVING)

5) 데이터 값을 출력/계산한다. (SELECT)

6) 데이터를 정렬한다. (ORDER BY)

 

 


3. Top N 쿼리

  • ROWNUM
    - Oracle에서 순위가 높은 N개의 로우를 추출하기 위해 ORDER BY 절과 WHERE 절의 ROWNUM 조건을 같이 사용하는 경우가
      있는데 이 두 조건으로는 원하는 결과를 얻을 수 없다.
    - ROWNUM 조건을 ORDER BY 절보다 먼저 처리되는 WHERE 절에서 처리하므로, 정렬 후 원하는 데이터를 얻기 위해서는
      인라인 뷰에서 먼저 데이터 정렬을 수행한 후 메 인쿼리에서 ROWNUM 조건을 사용해야 한다.

  • TOP()
    - SQL Server는 TOP 조건을 사용하게 되면 별도 처리 없이 관련 Order By 절의 데 이터 정렬 후 원하는 일부 데이터만 쉽게
      출력할 수 있다.
    - TOP 절을 사용하여 결과 집합으로 반환되는 행 수를 제한할 수 있다. WITH TIES 옵션은 ORDER BY 절의 조건 기준으로
       TOP N의 마지막 행으로 표시되는 추가 행의 데이터가 같을 경우 N+ 동일 정렬 순서 데이터를 추가 반환하도록 지정하는 옵션이다.

 

728x90
반응형