Khi truy vấn dữ liệu trên SQL thì việc sử dụng các công thức tính toán là điều bắt buộc khi chúng ta thực hiện đánh giá hoặc phân tích dữ liệu nào đó. Và để lựa chọn ra những đối tượng tiêu biểu của một trường đó thì chúng ta sử dụng câu lệnh SELECT TOP trong SQL.
Vậy định nghĩa, cú pháp, cách sử dụng, và ứng dụng thực tế của câu lệnh SELECT TOP như thế nào? Cùng Gitiho tìm hiểu trong bài viết này nhé!
Trong SQL, hàm TOP được sử dụng khi chúng ta muốn giới hạn số lượng hàng trả về từ một truy vấn SELECT. Nó thường được sử dụng khi bạn chỉ muốn lấy một số lượng cụ thể các hàng từ kết quả truy vấn, chẳng hạn như 5 dòng đầu tiên hoặc 10 dòng đầu tiên.
Cú pháp câu lệnh SELECT TOP:
SELECT TOP (n) column1, column2, ...
FROM table_name
WHERE condition;
Trong đó:
n: Số lượng hàng mà bạn muốn lấy từ tập kết quả.
column1, column2, ...: Các cột mà bạn muốn truy vấn.
table_name: Tên bảng dữ liệu.
WHERE condition: Điều kiện lọc dữ liệu (tùy chọn).
Giả sử, chúng ta có một bảng dữ liệu Customer_Info, sử dụng câu lệnh SELECT trong SQL để truy vấn dữ liệu từ bảng này, ta nhận được khoảng 2000 bản ghi.
select * from Customer_Info
Mà đôi khi trong truy vấn, chúng ta không cần thiết phải hiển thị hết tất cả số bản ghi đó. Bởi với bảng dữ liệu càng lớn, việc làm xuất hiện càng nhiều bản ghi sẽ càng ảnh hưởng đến hiệu suất và tốc độ truy vấn của SQL.
Do đó, để tiết kiệm thời gian cho phần mềm, bạn có thể sử dụng câu lệnh SELECT TOP để giới hạn số lượng hàng trả về.
Ví dụ 1: lấy ra TOP 5 của trường FirstName từ bảng Customer_Info.
Câu lệnh:
SELECT TOP 5 (FirstName) from Customer_Info
Khi chạy công thức, chúng ta có thể thấy công thức nhanh chóng trả về 5 bản ghi đầu tiên của trường FirstName trong thời gian ngắn.
Trường hợp khác, nếu bạn muốn lấy ra toàn bộ TOP 5 của tất cả các trường dữ liệu trong bảng Customer_Info thì bạn hãy sử dụng công thức:
SELECT TOP 5 * from Customer_Info
Kết quả trả về 5 bản ghi chứa đầy đủ thông tin của các trường trong bảng Customer_Info.
Hàm TOP đặc biệt hữu ích khi bảng dữ liệu bạn truy vấn lớn, số lượng bản ghi có thể lên tới hàng triệu.
Để hiểu rõ hơn về hàm TOP cùng các câu lệnh khác trong truy vấn SQL, mời bạn đọc tham khảo khóa học SQL sau tại Gitiho:
SQLG01 - Truy vấn dữ liệu với SQL
Nimbus Academy
Ví dụ 2: Hiển thị bảng Sales với 5 giá trị đơn hàng lớn nhất của khách hàng có ID-11864.
Vì yêu cầu đề bài là lấy ra 5 bản ghi có giá trị đơn hàng lớn nhất, nên nếu chỉ sử dụng hàm TOP trong SQL thì kết quả có thể sẽ không phải 5 giá trị lớn nhất. Do đó, chúng ta cần kết hợp thêm câu lệnh Order by trong SQL để sắp xếp và gọi ra 5 bản ghi có giá trị đơn hàng cao nhất.
select TOP 5 * from Sales
where CustomerID-11864
Order by Sales DESC
Cho chạy công thức, chúng ta sẽ nhận được kết quả như sau:
Ví dụ 3: Trả về top 5 thu nhập hàng năm của khách hàng có tổng cộng 4 con trong trường TotalChildren.
select TOP 5 YearlyIncome
from Customer_Info
where TotalChildren=4
Như vậy chúng ta đã lấy ra được 5 giá trị thu nhập hàng năm của 5 khách hàng có 4 con. Lưu ý là 5 giá trị này không phải 5 giá trị lớn nhất, mà nó chỉ là 5 giá trị đầu tiên xuất hiện trong bảng Customer_info.
Ví dụ 4: Lọc tất cả các khách hàng có 4 con trong bảng Customer_info. Sau đó sắp xếp thu nhập hàng năm giảm dần và chọn ra TOP 5 từ trong đấy.
Ta có công thức:
select TOP 5 * from Customer_Info
where TotalChildren=4
Order By YearlyIncome DESC
Khi chạy công thức, chúng ta sẽ nhận thấy có sự thay đổi trong 5 bản ghi hiển thị so với ví dụ trước. Chúng ta sẽ nhận được TOP 5 bản ghi có giá trị YearlyIncome cao nhất bởi đã được sắp xếp bởi ORDER BY.
Trong thực tế, mệnh đề SQL thường để sử dụng trong trường hợp các Data Analyst muốn:
Trên đây là hướng dẫn về câu lệnh SELECT TOP trong SQL dùng để hạn chế kết quả truy vấn trả về. Hy vọng nó sẽ giúp ích cho quá trình phân tích dữ liệu của bạn. Chúc bạn thành công!
Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.
Đăng ký học thử để trải nghiệm ngay hôm nay!