[SQL] 문법) ORDER BY 데이터 정렬하기 (ASC / DESC) + LIMIT (제한조건)

YS_Study.log·2022년 12월 13일
0
post-custom-banner

순서 주의! 순서가 정해져있다.

select -> from -> where -> 그 다음 조건들 order by 등


ORDER BY

ORDER BY 절은 결과가 출력되는 순서를 정렬한다. 결과의 값이나 개수에 대해서는 영향을 미치지 않느다.

ORDER BY 정렬할 조건 ASC / DESC

  • ASC(기본값) : 오름차순으로 정렬한다. (안 적어도 된다)
  • DESC : 내림차순으로 정렬한다.
  • 데뷔날짜 순서로 멤버 아이디, 명, 데뷔일자를 조회
    SELECTmem_id, mem_name, debut_date
    FROM member
    ORDER BY debut_date;

SELECT mem_id, mem_name, debut_date
FROM member
ORDER BY debut_date DESC;

정렬 조건이 두개 이상일 경우?

왼쪽의 조건으로 정렬했을때 같은 값인경우 어떻게 정렬할 것인지 조건을 거는 것!

ORDER BY 먼저 실행될조건, 그 다음 실행될 조건

  • 키 큰 수에서 내림차순으로 정렬한다. 같은 키일경우 데뷔일자로 오름차순으로 정렬한다.
    SELECT mem_id, mem_name, debut_date, height
    FROM member
    WHERE height >= 164
    ORDER BY height DESC, debut_date ASC ;

  • 보면 167 키가 똑같다. 그래서 같은 키일 경우 데뷔일자로 재정렬해주는 것.


LIMIT (제한두기)

LIMIT는 해당 개수의 행 데이터까지만 제한을 두고 조회하는 것이다.

LIMIT 숫자
해당 개수의 행 데이터만 사용하겠다!

  • 처음 부터 3개의 행 데이터(레코드)만 조회하겠다.
    SELECT mem_name, debut_date
    FROM member
    LIMIT 3;

LIMIT 숫자, 숫자
해당 수 다음 행 데이터부터, 특정 개수의 행 데이터만 출력

  • 현재 member 데이터에서 LIMIT 사용해보기
  • 4번째 데이터부터 2개 행 데이터만 조회한다.
    SELECT mem_name, debut_date
    FROM member
    LIMIT 4,2;

  • 데뷔날짜가 4번재로 데뷔날짜가 빠른 그룹부터 2팀 조회한다.
    => 데뷔날짜 4등, 5등 오름차순정렬
    SELECT mem_name, debut_date
    FROM member
    ORDER BY debut_date ASC
    LIMIT 4,2;

  • 데뷔날짜가 4번재로 데뷔날짜가 빠른 그룹부터 2팀 조회한다.
    => 데뷔날짜 5등, 4등 내림차순 정렬
    SELECT mem_name, debut_date
    FROM member
    ORDER BY debut_date DESC
    LIMIT 4,2;
  • 2번째 데이터부터 4개 행데이터만 조회한다.
    SELECT mem_name, debut_date
    FROM member
    LIMIT 2,4;
profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!
post-custom-banner

0개의 댓글