TIL(Today I Learned)

[MYSQL] Limit문(= 상위 n개의 레코드 구하기)

yunseohhe 2024. 7. 30. 21:04

안녕하세요!

오늘은 SQL문제를 풀다가 발견한 "limit"구문에 대해 알아보겠습니다.

 

Limit 문

  • 상위 n개의 레코드만 가져오고 싶을 때 사용합니다. (= 몇번째 행부터 ~ 몇번째 행까지도 출력 가능!!)
  • SQL문의 가장 마지막에 적습니다. (= where로 검색한 후 order by로 정렬한 뒤 최종적으로 처리됨)
  • 만약, 테이블(컬럼)에 1개의 행만 있다면, 1 보다 큰 수로 지정하더라도 1개의 행만 출력됩니다.
  • 사용방법 : 
Limit 가져오고 싶은 행의 개수

 

 

 

 

밑에 문제를 예시로 들어서 설명해보자면, 

문제1
문제2

위의 '문제2' 그림과 같이 출력이 되야 정답입니다.

 

 

그러면 일단 제가 위의 문제를 푼 순서는 다음과 같습니다.

1. NAME 테이블만 출력 됐으니깐 SELECT절에는 NAME 테이블만 불러와야겠구나

2. 가장 보호소에 먼저 들어온 동물 순이니깐 order by 절로 사용하여 오름차순으로 정렬해주어야겠구나

3. limit 문을 이용하여 첫번째 행만 불러와야지 

정답

물론 제가 적은 sql문만이 정답이 아니니깐 다른 분들 것도 참고하시면 좋을 것 같습니다. :-)

 


 

그리고 limit의 추가적인 기능을 또 말씀드리고 싶은데요.

위에서 설명에 적었던 것처럼 "몇번째 행부터 ~ 몇번째 행까지도 출력"이 가능하답니다!!

 

위의 문제를 그대로 사용해서 예시를 보여드리겠습니다.

예시

limit문에 숫자로 간단하게 지정하여 출력할 수 있답니다.

Limit (출력하고싶은 시작할 행), (출력하고싶은 마지막 행)

 

 

 

오늘의 요약 

Limit은 SQL문의 맨 마지막에 처리가 된다.

 

 

오늘도 읽어주셔서 감사합니다!