안녕하세요!! 좋은 아침입니다.
이번 포스팅에서는 가져올 레코드수를 지정할 수 있는 구문에 대해서 알아보겠습니다.
제목에 TOP, LIMIT, ROWNUM 이렇게 3가지를 적은 이유는 데이타베이스마다 구문이 틀리기 때문입니다.
MS-SQL : TOP
MY-SQL : LIMIT
ORACLE : ROWNUM
MS-SQL 예제
1. SELECT TOP 10 number * FROM table_name;
2. SELECT TOP 10 percent * FROM table_name;
// 감이 빠른 분들이라면 벌써 위 구문이 아~ 어떤 내용이구나 라고 이해하셨을듯 합니다.
// 첫 번째 구문은 10개의 레코드를 가져오라는 구문이며, 두 번째는 모든 레코드 중에서 10퍼센트를 가져오라는 구문입니다. 그리고 기본적으로 ORDER BY 구문이 없다면 가장먼저 입력된 테이블의 레코드를 가져오게 됩니다. 다시말하면 기본적으로 오름차순으로 레코드를 가져오게 된다는 뜻입니다.
MY-SQL 예제
SELECT * FROM table_name LIMIT 10;
// MY-SQL에서는 LIMIT 구문을 사용하여 레코드를 가져옵니다. 마찬가지로 처음 입력된 값을 기준으로 10개의 레코드를 가져오게 됩니다. PHP에서 MY-SQL을 많이 사용하기 때문에 잘 알아두시기 바랍니다. 참고적으로 정렬을 내림차순으로 바꾸고 싶을 경우
SELECT * FROM table_name order by column_name desc LIMIT 10; 처럼 order by 구문을 사용하여 변경할 수 있습니다.
ORACLE 예제
SELECT * FROM table_name WHERE ROWNUM <= 5;
// ORACLE에서는 ROWNUM이라는 구문을 사용하는데 사실 그 쓰임새는 더 복잡합니다. 오라클을 공부하는 분들은 ROWNUM에 대해서 더 많이 찾아보시고 학습을 하는게 좋을듯합니다.
다음 포스팅에서는 SQL where 구문에서 잠깐 설명했던 like 구문에 대해서 자세히 알아보겠습니다.
그럼 좋은하루 보내길 바랍니다.
'SQL' 카테고리의 다른 글
SQL IN 구문 (14) | 2013.08.22 |
---|---|
SQL LIKE 구문 (0) | 2013.08.21 |
SQL UPDATE, DELETE 구문 (0) | 2013.08.19 |
SQL INSERT INTO 구문 (0) | 2013.08.16 |
SQL ORDER BY 구문 (0) | 2013.08.15 |