반응형
💅 SQL 입문
지난 시간에는 SELECT와 FROM, WHERE에 대해서 알아보았다. 오늘은 추가적으로 오름차순, 내림차순, 상위 N개 등 다양한 정렬에 대해서 알아보도록 한다.
🤳 ORDER BY : 정렬
✝️ ASC : 오름차순 정렬
SELECT nameFirst, birthYear
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear;
SELECT nameFirst, birthYear
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear ASC;
ORDER BY의 순서는 WHERE 다음에 작성되며. 오름차순 ASC의 값이 디폴트 값을 가진다. 또한 생략할 경우 자동으로 오름차순 정렬로 진행된다.
✝️ DESC : 내림차순 정렬
SELECT namefirst, birthYear, birthMonth, birthDay
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear DESC, birthMonth DESC, birthDay DESC;
먼저 작성한 birthYear을 먼저 내림차순 정렬 하고 그 다음으로 birthMonth을 내림 차순 정렬하고, 그 다음에 birthDay를 내림차순 정렬한다.
🤳 TOP
* TOP (n) 혹은 TOP n : 상위 n 개의 행들을 선택한다.
* TOP n PERCENT : 상위 n 퍼센트에 해당하는 행들을 선택한다.
SELECT 안에서 쓰이며, SQL Server 에서만 쓸 수 있는 예약어이다.
SELECT TOP(5) namefirst, birthYear, birthMonth, birthDay
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear DESC, birthMonth DESC, birthDay DESC;
SELECT TOP 5 namefirst, birthYear, birthMonth, birthDay
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear DESC, birthMonth DESC, birthDay DESC;
SELECT TOP 0.1 PERCENT *
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear DESC, birthMonth DESC, birthDay DESC;
🤳 OFFSET FETCH
OFFSET n ROWS : n 개의 행은 건너 뛴다. 즉, n+1 번째 행부터 출력된다.
FETCH NEXT n ROWS ONLY : n 개수만큼의 행을 출력한다.
OFFSET은 TOP 과 함께 쓰일 수 없다.
SELECT namefirst, birthYear, birthMonth, birthDay
FROM players
WHERE birthYear IS NOT NULL
ORDER BY birthYear DESC
OFFSET 100 ROWS FETCH NEXT 5 ROWS ONLY;
SELECT ~ ORDER BY를 실행하면 나오는 테이블에서 상위 100개 행은 제외하고 그 이후 5개의 행을 출력한다. 즉, SELECT ~ ORDER BY를 실행하면 나오는 테이블의 101 ~ 105 번째 행을 출력하는 것이다.
반응형
'공부 > 인프런 - Rookiss' 카테고리의 다른 글
Part 5-2-5. SQL 입문 : DATETIME (1) | 2024.02.05 |
---|---|
Part 5-2-4. SQL 입문 : 수치와 문자열 (1) | 2024.01.25 |
Part 5-2-2. SQL 입문 : SELECT FROM WHERE (0) | 2024.01.23 |
Part 5-2-1. SQL 입문 : SSMS 입문 (0) | 2024.01.22 |
Part 5-1-1. 개론 : OT 및 환경 설정 (0) | 2024.01.16 |