문송한 회사생활/SQL 공부
[SQL] where절 ROWNUM, TOP
PieMoon
2020. 8. 8. 15:35
ROWNUM
(오라클)원하는 행 만큼 가져오고 싶을 때 where 절에서 행의 개수를 제한하는 목적으로 사용할 수 있다.
한 건의 행만 가져오고 싶을 때
-- 다 똑같은 결과가 나온다.
SELECT PLAYER_NAME
FROM PLAYER
WHERE ROWNUM = 1;
SELECT PLAYER_NAME
FROM PLAYER
WHERE ROWNUM <= 1;
SELECT PLAYER_NAME
FROM PLAYER
WHERE ROWNUM < 2;
두 건 이상의 N행을 가져오고 싶을 때
SELECT PLAYER_NAME
FROM PLAYER
WHERE ROWNUM <= N;
SELECT PLAYER_NAME
FROM PLAYER
WHERE ROWNUM < N + 1;
추가적으로 테이블 내의 고유한 키나 인덱스 값을 만들 수도 있다.
UPDATE MY_TABLE
SER COLUMN1 = ROWNUM ;
TOP
(SQL Server) 출력되는 행의 수를 제한한다.
(where 절에 오는 함수가 아닌데 ROWNUM과 같은 함수라서 여기에 넣은듯...)
TOP (expression) [percent] [with ties]
expression : 반환할 행의 수를 지정한다.
percent : 쿼리 결과 집합에서 처음 expression%의 행만 반환된다.
with ties : ORDER BY 절이 지정된 경우에만 사용할 수 있다. TOP N(percent)의 마지막 행과 같은 값이 있는 경우 추가 행이 출력되도록 지정할 수 있다.
한 행만 가져오고 싶을 때
SELECT TOP(1) PLAYER_NAME
FROM PLAYER ;
두 건 이상의 N 행을 가져오고 싶을 때
SELECT TOP(N) PLAYER_NAME
FROM PLAYER ;
kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.