본문 바로가기
SQL/SQL 스터디

ORDER BY 파헤치기 - 문과생 SQL 독학 시리즈5

by davi_kr 2023. 4. 30.

목차

    반응형

    "Everything is available basically for free. You can learn anything you want for free." - Elon Musk의 인터뷰 중

    머스크의 말처럼 모두 무료로 접할 수 있고 무엇이든 할 수 있으니..

    무료로 접할 수 있는 정보들을 제게 맞게 최적화해서 정리해보려고 합니다.

     

    이 글에선 ORDER BY에 대해 자세히 알아보겠습니다.

    아래는 예시로 사용할 inventory 테이블입니다.

     

    name price stock
    사과 300 50
    500 30
    포도 800 20
    200 100
    바나나 400 60
    키위 800 70
    한라봉 800 50

     

    1. 오름차순 정렬(ASC)

    오름차순 : 작은 값부터 큰 값의 순서로 정렬하는 것

    문자는 ㄱ,ㄴㄷ,ㄹ,ㅁ ~ ㅊ,ㅋ,ㅌ,ㅍ,ㅎ 순과 같이 적는 것

    숫자는 0,1,2,3, ~ 100 ~ 1000 과 같은 순으로 적는 것

    ORDER BY를 사용하면 오름차순이 기본 설정이라 굳이 ASC라고 적지 않아도 됩니다.

    SELECT *
    FROM inventory
    ORDER BY name;

     

    해석 > inventory 테이블에서 모든 값을 조회하고 name을 오름차순으로 정렬해줘

    결과)

    name price stock
    200 100
    바나나 400 60
    500 30
    사과 300 50
    포도 800 20
    키위 800 70
    한라봉 800 50

     

    2. 내림차순 정렬(DESC)

    내림차순 : 큰 값부터 작은 값의 순서로 정렬하는 것

    오름차순이 기본이기 때문에 역순이었으면 한다면 DESC를 꼭 적어줘야 합니다.

    SELECT * 
    FROM inventory
    ORDER BY price DESC;

     

    해석 > inventory 테이블에서 모든 값을 조회하고 price를 내림차순으로 정렬해줘

    결과)

    name price stock
    포도 800 20
    키위 800 70
    한라봉 800 50
    500 30
    바나나 400 60
    사과 300 50
    200 100

     

    3. 오름차순과 내림차순 같이 사용하여 정렬

    SELECT * 
    FROM inventory
    ORDER BY price DESC, stock ASC;

     

    해석 >  inventory 테이블에서 모든 값을 조회하고 price를 내림차순으로 정렬하고 혹시나 price에 같은 값이 있다면 그때는 stock 기준으로 오름차순으로 정렬해줘

    결과)

    name price stock
    포도 800 20
    한라봉 800 50
    키위 800 70
    500 30
    바나나 400 60
    사과 300 50
    200 100

     

    오름차순과 내림차순을 같이 사용한 것처럼 ORDER BY 구문 뒤에는 더 많은 열들을 두고 정렬을 할 수도 있습니다.

     

    4. 참고 문헌

    통계 교육원 SQL 강의: 데이터 분석을 위한 SQL 입문(2023) - https://sti.kostat.go.kr/coresti/site/main.do

    부스트코스 SQL 강의: 기초 데이터 분석을 위한 핵심 SQL - https://www.boostcourse.org/

    반응형

    댓글