programming/SQL

[SQL]8강_SELECT TOP

Jofresh 2023. 4. 23. 21:43
728x90
반응형

안녕하세요. 조신선입니다. SELECT TOP도 음.. 현업에서는 잘 사용하지는 않아요.

그래서 대충 넘어가셔도 될 것 같습니다. 일단 저도 공부한대로 강의용 포스팅을 하고 있는데, 현업에서 잘 사용하지 않는건 빼고 추후에 추강개념으로 포스팅을 따로 하도록하겠습니다.

일단 SELECT TOP까지는 포스팅 할께요 :) 적고 나니 생각이 바뀌었습니다 ㅠㅠ!

SQL SELECT TOP 절

이 SELECT TOP절은 반환할 레코드 수를 지정하는 데 사용됩니다.

이 SELECT TOP절은 수천 개의 레코드가 있는 대형 테이블에서 유용합니다. 많은 수의 레코드를 반환하면 성능에 영향을 줄 수 있습니다.

참고: 모든 데이터베이스 시스템이 이 SELECT TOP절을 지원하는 것은 아닙니다. LIMITMySQL은 제한된 수의 레코드를 선택하는 절을 지원하는 반면 Oracle은 및 . FETCH FIRST n ROWS ONLYROWNUM

SQL Server/MS 액세스 구문:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL 구문:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

오라클 12 구문:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

이전 Oracle 구문:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

이전 Oracle 구문(ORDER BY 포함):

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;

데모 데이터베이스

다음은 Northwind 샘플 데이터베이스의 "Customers" 테이블에서 선택한 항목입니다.


 

SQL TOP, LIMIT 및 FETCH FIRST 예제

다음 SQL 문은 "Customers" 테이블(SQL Server/MS 액세스용)에서 처음 세 개의 레코드를 선택합니다.

SELECT TOP 3 * FROM Customers;
직접 해보기 »

다음 SQL 문은 MySQL에 해당하는 예를 보여줍니다.

SELECT * FROM Customers
LIMIT 3;
직접 해보기 »

다음 SQL 문은 Oracle에 해당하는 예를 보여줍니다.

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL 상위 PERCENT 예

다음 SQL 문은 "Customers" 테이블(SQL Server/MS 액세스용)에서 레코드의 처음 50%를 선택합니다.

SELECT TOP 50 PERCENT * FROM Customers;
직접 해보기 »

다음 SQL 문은 Oracle에 해당하는 예를 보여줍니다.

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

WHERE 절 추가

다음 SQL 문은 국가가 "독일"(SQL Server/MS 액세스용)인 "Customers" 테이블에서 처음 세 개의 레코드를 선택합니다.

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
직접 해보기 »

다음 SQL 문은 MySQL에 해당하는 예를 보여줍니다.

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
직접 해보기 »

다음 SQL 문은 Oracle에 해당하는 예를 보여줍니다.

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

 

 

728x90
반응형

'programming > SQL' 카테고리의 다른 글

[SQL]10강_COUNT, AVG 및 SUM  (0) 2023.05.01
[SQL]9강_MIN&MAX  (0) 2023.04.26
[SQL]7강_ NULL  (0) 2023.04.23
[SQL]6강_ INSERT INTO  (0) 2023.04.23
[SQL]5강_ ORDER BY  (0) 2023.04.23