본문 바로가기
Back-End/🐬MySQL (RDBMS)

[MySQL] 데이터 조회(3) - 정렬하기 , 일부만 추리기 (ASC ,DESC , LIMIT)

by 코딩하는 동현😎 2022. 5. 8.

실습을 위해 초기화(클릭)

 

[MySQL] SELECT 문으로 데이터 조회(1) - WHERE 조건문 기초

실습을 위해 초기화 먼저 데이터베이스를 생성해줍니다! 이름을 기업 느낌나게 쿠팡으로 할까요? 번개 표시를 눌러서 실행시켜주고, 동기화 버튼 누르면 스키마에 적용이 됩니다. 그다음에 아

konkukcodekat.tistory.com

이 포스트를 이미 보시고 실습 하신 분은 할 필요없습니다.

이 포스트를 안보신분은 이 포스트에서 앞부분에 실습 초기화를 해주세요!


1. 데이터 정렬하기

데이터는 ORDER BY 키워드로 정렬할 수 있습니다.

단, order by 문은 무조건 where 뒤에 와야합니다.

 

ORDER BY 속성이름 (ASC/DESC)

 

  • ASC는 Ascending을 의미합니다. 즉 오름차순입니다.
  • DESC는 Descending을 의미합니다. 즉 내림차순입니다.

(1) 키(높이)를 기준으로 오름차순 정렬한 모습입니다. NULL은 최소값으로 간주됩니다.


(2) 키를 기준으로 내림차순으로 정렬한 모습입니다.


(3) 남자중에서 이메일을 기준으로 오름차순 정렬하는 모습입니다. ORDER BY는 꼭 WHERE 뒤에 옵니다

문자열 속성은 가장 앞글자의 알파벳순으로 (abcdef....) 정렬됩니다. 만약에 같은 알바벳이면 두번째 글자의 알파벳 순으로 정렬됩니다.

다들 학생때 배운 사전식 순서입니다.


(4) 날짜 속성은 오름차순  =  오름차순

email을 사전식 순서로 먼저 정렬하고, 

정렬하는 기준이 되는 속성은 null을 보통 제외합니다. (값을 모르는데 순서 매기는게 애매하기 때문)

그래서 IS NULL을 적용 시켰습니다.


(5) 정렬 기준이 두개이면 앞 기준이 우선순위 입니다.

가입일의 연으로  오름차순으로 정렬하고, 동일한 연에 가입했으면 키로 내림차순으로 정렬하는 모습입니다.


2. 데이터 일부만 추리기 (LIMIT n)


(1) 일찍 가입한 사람 TOP 5 조회하기

LIMIT 5 => 5개만 추립니다 (인덱스 0부터 4까지)

이렇게 하면 일찍 가입한 사람으로 정렬했는데 5개를 뽑았기 때문입니다.


 

(2) 특정 순위만 출력하기

LIMIT m,n => m번째 인덱스에서 2명을 추출한다.

7번때 인덱스 => 0부터 인덱스가 시작하므로 8번째 입니다.

8번째 부터 2명 조회하니까 8,9등이 출력됩니다.


 

반응형

댓글