Mệnh đề TOP trong SQL

Mệnh đề TOP trong SQL

Mệnh đề TOP trong SQL

Learn more »

Mệnh đề TOP trong SQL



Mệnh đề TOP trong SQL được sử dụng để lấy ra N bản ghi hoặc X phần trăm bản ghi từ một bảng.

Lưu ý - Tất cả các cơ sở dữ liệu không hỗ trợ mệnh đề TOP. Ví dụ như MySQL hỗ trợ mệnh đề LIMIT để lấy ra số lượng hạn chế các bản ghi trong khi Oracle sử dụng lệnh ROWNUM để lấy ra một số lượng hạn chế các bản ghi.

Nội dung chính

Cú pháp

Cú pháp cơ bản của mệnh đề TOP với câu lệnh SELECT sẽ như sau.

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


Ví dụ

Giả sử bảng CUSTOMERS có các bản ghi sau:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  7 | Binh     |  24 | Ha Noi    | 10000.00 | +----+----------+-----+-----------+----------+ 

Truy vấn sau đây là một ví dụ trên máy chủ SQL, nó sẽ lấy ra 3 bản ghi hàng đầu từ bảng CUSTOMERS.

 SELECT TOP 3 * FROM CUSTOMERS; 

Điều này sẽ tạo ra kết quả sau:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | +----+----------+-----+-----------+----------+ 

Đối với máy chủ MySQL, dưới đây là một ví dụ tương đương:

 SELECT * FROM CUSTOMERS LIMIT 3; 

Điều này sẽ tạo ra kết quả sau:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | +----+----------+-----+-----------+----------+ 

Đối với máy chủ Oracle, thì khối lệnh sau đây là một ví dụ tương đương.

 SELECT * FROM CUSTOMERS WHERE ROWNUM <= 3; 

Điều này sẽ tạo ra kết quả sau:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | +----+----------+-----+-----------+----------+ 



Lượt xem : 305

Integrations
Users

Share Profile

Anyone at KeenThemes can view
Anyone with link can edit

Give Award

Anyone at KeenThemes can view
Anyone with link can edit

Report User

Let us know why you’re reporing this person
Don't worry, your report is completely anonymous; the person you're
reporting will not be informed that you've submitted it