ORDER BY
- 조회 결과를 정렬할 때 사용
- 기본적으로 오름차순(ASC), 내림차순(DESC)를 지원
- 복수(다중)정렬도 가능하고 사용시 먼저 작성한 컬럼 순서대로 정렬된다.
문법
-- 단일 정렬
SELECT 컬럼명
FROM 테이블
ORDER BY 컬럼명 ASC
-- 복수(다중)정렬
SELECT 컬럼명
FROM 테이블
ORDER BY 컬럼명 DESC, 컬럼명 ASC, 컬럼명 ...
예시)
학생들을 나이가 많은 순으로 정렬하고 싶다.
- 예상 순서 13 > 12 > 11 > 9 > 8
결과
쿼리문
SELECT
*
FROM STUDENT
ORDER BY STUDENT_AGE DESC;
복수(다중) 정렬 예시)
학생들을 나이 많은 순인데 이름은 ㄱㄴㄷ 순으로 보고싶다.
- 김대호와 박만기를 추가해서 9살인 인원이 3명으로 늘었다.
- 그럼 여기서 예상되는 데이터는 김대호 > 박만기 > 이금순 으로 나와야 한다.
결과
쿼리문
SELECT
*
FROM STUDENT
ORDER BY STUDENT_AGE DESC, STUDENT_NAME ASC;
LIMIT
- 결과에서 맨 앞부터 N개만 잘라서 보여줄지 지정
- 주로 페이징처리 할 때 사용
- RDBMS 종류에 따라 지원되는게 있고 안되는게 있다.
- Oracle, SQL Server 미지원
문법
SELECT * FROM 테이블
LIMIT 10; -- 최초 10개 행만 반환
- 회사마다 페이징처리 하는 스타일이 다다르기 때문에 회사에서 사용하는 방식을 보거나 블로그나 강의 참고해서 본인에게 맞는 스타일로 사용하면 됨
- 핵심은 데이터를 잘라서 보여줄 수 있다는 개념만 알고 가면된다.
OFFSET
- 결과에서 앞에서 몇 개 건너뛸지 지정
- 주로 페이징처리 할 때 사용
- RDBMS 종류에 따라 지원되는게 있고 안되는게 있다.
- Oracle(미지원), SQL Server (조건부 지원)
문법
SELECT * FROM 테이블
LIMIT 10 OFFSET 20; -- 21번째 행부터(OFFSET) 10개 행(LIMIT)을 가져옴
- 회사마다 페이징처리 하는 스타일이 다다르기 때문에 회사에서 사용하는 방식을 보거나 블로그나 강의 참고해서 본인에게 맞는 스타일로 사용하면 됨
- 핵심은 데이터를 건너뛰어서 보여줄 수 있다는 개념만 알고 가면된다.
반응형
'DataBase' 카테고리의 다른 글
[DATABASE] 연산자 종류 (0) | 2025.05.12 |
---|---|
[DATABASE] 서브쿼리 (0) | 2025.05.12 |
[DATABASE] GROUP BY / HAVING (0) | 2025.05.11 |
[DATABASE] 조인(JOIN)의 개념과 종류 (0) | 2025.05.06 |
[DATABASE] 데이터베이스 언어와 SQL (0) | 2025.04.29 |