복붙노트

[SQL] SQL에서 상단 및 제한 키워드의 차이

SQL

SQL에서 상단 및 제한 키워드의 차이

빠른 질문. 나는 다음과 같은 두 개의 쿼리가 있다고 가정 :

SELECT TOP 2 * FROM Persons;

SELECT * FROM Persons limit 2;

나는 위의 두 쿼리의 실행의 차이를 알고 싶어? 기본적으로, 나는 한계 키워드를 사용해야 할 때 알고 싶은 상위 키워드를 사용하는 것이 적합한 경우. 또한, 어떻게 위의 두 쿼리를 기반으로 데이터베이스 반환 결과를 않습니다.

해결법

  1. ==============================

    1.당신은 MySQL의 또는 포스트 그레스 사용 제한을 사용하는 경우는 SQL 서버를 사용 TOP을 사용하는 경우!

    당신은 MySQL의 또는 포스트 그레스 사용 제한을 사용하는 경우는 SQL 서버를 사용 TOP을 사용하는 경우!

    AFAIK 현재를 모두 지원이 상품은 없습니다. 여기에서 (보다 구체적으로하지만, 커버 더 많은 제품) 현재 구현 한 목록은 여기에 또 다른입니다

  2. ==============================

    2.위의 마틴 스미스의 답변에 대한 내 댓글에 명시된 바와 같이, 모두를 지원하는 제품이있다, LIMIT 및 TOP (당신이 여기에서 볼 수있다). 차이는 TOP에만 제 N 레코드를 선택하지만 LIMIT 레코드의 특정 범위를 검색하는 오프셋의 정의를 허용한다는 것이다 :

    위의 마틴 스미스의 답변에 대한 내 댓글에 명시된 바와 같이, 모두를 지원하는 제품이있다, LIMIT 및 TOP (당신이 여기에서 볼 수있다). 차이는 TOP에만 제 N 레코드를 선택하지만 LIMIT 레코드의 특정 범위를 검색하는 오프셋의 정의를 허용한다는 것이다 :

    SELECT * FROM ... LIMIT 5 OFFSET 10
    

    이 문 (10 개) 기록을 스킵 후 처음 5 개 개의 레코드를 선택하고,이 TOP 불가능하다.

    내가 게시 한 예는 단지 DBS 제가 위에 링크에 대해 확인됩니다. 나는 때문에 시간이 부족하는 SQL 표준을 확인하지 않았다.

  3. ==============================

    3.Redshift에 아마존에 TOP & LIMIT는 모두 작업

    Redshift에 아마존에 TOP & LIMIT는 모두 작업

  4. ==============================

    4.MySQL과 PostgreSQL을에 제한 작품, SQL Server의 최고 작품, 오라클에서 ROWNUM 작동합니다.

    MySQL과 PostgreSQL을에 제한 작품, SQL Server의 최고 작품, 오라클에서 ROWNUM 작동합니다.

  5. ==============================

    5.다른 점이 없다. 상단과 LIMIT 키워드는 동일하게 작동하고, 같은 일을 반환합니다.

    다른 점이 없다. 상단과 LIMIT 키워드는 동일하게 작동하고, 같은 일을 반환합니다.

  6. ==============================

    6.선택 IS가 가득하고 데이터베이스 서버 반환에 의해서만 제한 데이터를 반환하기 때문에 하나의 큰 실수, LIMIT는 천천히. 그것을 추적 할 수없는 가망 경우 TOP하는 데 사용됩니다.

    선택 IS가 가득하고 데이터베이스 서버 반환에 의해서만 제한 데이터를 반환하기 때문에 하나의 큰 실수, LIMIT는 천천히. 그것을 추적 할 수없는 가망 경우 TOP하는 데 사용됩니다.

  7. from https://stackoverflow.com/questions/5668540/difference-between-top-and-limit-keyword-in-sql by cc-by-sa and MIT license