SELECT * FROM products ORDER BY price DESC -- 여기 뒤의 제한 구문이 DBMS마다 달라진다
정렬 없이 제한만 걸면 어떤 행이 선택될지 불명확합니다.
SQL 표준에 가장 가까운 방식
FETCH FIRST 10 ROWS ONLY OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY
새 환경에서 문법 일관성을 가져가려면 가장 무난합니다.
실무에서 가장 자주 보이는 축약형
LIMIT 10 LIMIT 10 OFFSET 10
짧아서 읽기 쉽지만, 문법 자체는 SQL 표준형이 아닙니다.
TOP과 OFFSET FETCH를 함께 기억
TOP 10 OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY
TOP은 단순 상위 N, 페이지네이션은 OFFSET FETCH가 자연스럽습니다.
ROWNUM이 먼저 붙어서 서브쿼리가 필요
SELECT * FROM ( SELECT * FROM products ORDER BY price DESC ) WHERE ROWNUM <= 10
정렬 후 상위 N을 얻으려면 한 번 감싸서 순서를 바로잡아야 합니다.