Tới nội dung chính
Danh mục
Hệ quản trị SQL

Lệnh SELECT TOP trong SQL Server

Khái niệm cơ bản về cú pháp lệnh select top trong ngôn ngữ lập trình dữ liệu có cấu trúc SQL Server

Lệnh SELECT TOP được dùng để lấy dữ liệu từ 1 hay nhiều bảng trong SQL SERVER và trả về các dữ liệu được giới hạn dựa trên % cố định hoặc giá trị

1. Cú pháp lệnh SELECT TOP trong lập trình dữ liệu cấu trúc SQL Server

SELECT TOP (giatridau) [PERCENT] [WITH TIES]

bieu_thuc

FROM bang

[WHERE dieukien]

[ORDER BY bieuthuc [ ASC | DESC ]];

2. Tên biến (hoặc giá trị biến)

Biến TOP

TOP (giatridau), lệnh trả về kết quả dựa trên giatridau. Ví dụ TOP(1) sẽ chèn 1 hàng đầu tiên từ kết quả, đây cũng có thể gọi là Select top 1 trong SQL.

Ví dụ thực tế:

SELECT TOP(10)

nhanvien_id, ho, ten

FROM nhanvien

WHERE ho = ‘LÊ’

ORDER BY nhanvien_id;

Lệnh này sẽ lấy 10 dữ liệu đầu tiên trong bảng nhanvien có họ là LÊ. Khi đã lấy đủ 5 dữ liệu thì những dữ liệu khác dù có họ LÊ cũng không được xuất hiện.

Nếu thêm mệnh đề WITH TIES

SELECT TOP(10) WITH TIES

nhanvien_id, ho, ten

FROM nhanvien

WHERE ho = ‘LÊ’

ORDER BY nhanvien_id;

Ví dụ này sẽ trả về các hàng giống với hàng cuối trong bộ kết quả.

Biến PERCENT

Tùy chọn. Nếu sử dụng kết quả trả về sẽ dựa trên % của giatridau. Ví dụ TOP(5) PERCENT sẽ chèn 5% giá trị đầu trong bộ kết quả.

Ví dụ thực tế:

SELECT TOP(20) PERCENT

nhanvien_id, ho, ten

FROM nhanvien

WHERE ho = ‘LÊ’

ORDER BY nhanvien_id;

Ví dụ này sẽ trả về bộ kết quả đúng 20% đầu tiên trong bảng nhanvien trong số các nhân viên có họ là LÊ. 80% còn lại sẽ không được trả về.

Thêm hàm WITH TIES ta có:

SELECT TOP(20) PERCENT WITH TIES

nhanvien_id, ho, ten

FROM nhanvien

WHERE ho = ‘LÊ’

ORDER BY nhanvien_id;

Kết quả trả về sẽ có các hàng giống với hàng cuối trong bộ kết quả. Bộ kết quả khi đó sẽ nhiều hơn 20%.

Biến WITH TIES

Tùy chọn. Sử dụng nếu các hàng cuối trong kết quả có giá trị giống với các hàng. Xảy ra khi số hàng trả về nhiều hơn biến TOP

bieuthuc

Cột hoặc giá trị muốn lấy về

bang

Bảng muốn lấy bản ghi từ đó. Phải có ít nhất 1 bảng trong mệnh đề FROM.

Biến WHERE

Điều kiện áp dụng để bản ghi được chọn.

Biến ORDER BY

Dùng để sắp xếp các kết quả trả về theo thứ tự tăng hoặc giảm (ASC hoặc DESC)

Kết luận

Vậy là chúng ta lại đi xong một câu lệnh nữa trong sql. Hy vọng rằng có thể tiếp thêm nhiều kiến thức cho các bạn. Cùng đón chờ các bài viết tiếp theo của tôi nhé.

Thảo Larskanis

@Thảo Larskanis

Lĩnh vực công nghệ thông tin, đặc biệt là cấu trúc dữ liệu ngày càng quan trọng và trở nên cần thiết hơn với nhiều doanh nghiệp. Nhận thấy rõ được tầm quan trọng của SQL, Thảo Nguyễn - người đã có nhiều năm học tập và làm việc trong lĩnh vực công nghệ thông tin đã quyết định thành lập một website chia sẻ kiến thức cũng như kinh nghiệm của bản thân về lĩnh vực SQL đến cho những bạn có đam mê và muốn hiểu rõ hơn về lĩnh vực này.