[DB SQL] 정렬 (ORDER BY)

반응형

From Pixabay do_exploit's Image

 

SELECT 쿼리문에서 별 지정이 없을 경우, 레코드(행)의 출력 순서는 DBMS의 디폴트 순서에 따릅니다. 오라클은 입력 순서대로 출력하고, SQL Server와 MariaDB는 기본키에 대해 오름차순으로 출력합니다. 

 

ORDER BY를 이용하면 DataBase에 대해 정렬 순서를 원하는 대로 지정할 수 있습니다.

 


Contents

     

    1. 기본 형태

    -- ORDER BY는 SELECT문과 함께 쓰입니다.
    -- ASC : 오름차순(default), DESC : 내림차순
    SELECT 필드목록 FROM 테이블 ORDER BY 필드 [ASC | DESC]

     

    2. 예시

     1) 기본 예시

    -- popu(인구) 기준으로 오름차순 정렬 
    -- (오름차순이 default 이기 때문에, 아래 두 쿼리문은 동치)
    SELECT * FROM tCity ORDER BY popu;
    SELECT * FROM tCity ORDER BY popu ASC;
    
    -- popu(인구) 기준으로 내림차순 정렬
    SELECT * FROM tCity ORDER BY popu DESC;
    
    -- 여러 컬럼으로 정렬
    -- name기준으로 오름차순으로 정렬하고, name이 같으면 popu기준으로 내림차순 정렬
    SELECT name, area, popu FROM tCity ORDER BY name, popu DESC;

     

     2) 컬럼 번호 정렬

    tCity 테이블 예시

    -- area가 2번째 컬럼이기 때문에 아래 두 컬럼은 동치
    SELECT * FROM tCity ORDER BY area;
    SELECT * FROM tCity ORDER BY 2;

     

     3) 조건식이 있는 경우 정렬

    -- name(도시이름)이 서울인 경우에 대해서만, area에 대해 오름차순으로 정렬
    SELECT * FROM tCity WHERE name = '서울' ORDER BY area;

     

    Reference
     내용) 김상형, 김상형의 SQL 정복 Chapter 4 (104p - 140p)
    반응형

    'DataBase > SQL' 카테고리의 다른 글

    [DB] 이벤트 설정, 생성, 삭제  (0) 2022.04.29
    [DB SQL] 중복제거 (DISTINCT)  (0) 2021.08.25
    [DB SQL] Select문 : 데이터 읽기  (0) 2021.08.23

    댓글

    Designed by JB FACTORY