Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info

Câu lệnh SELECT trong SQL Server được dùng như thế nào? Hãy cùng Quantrimang.com tìm hiểu những điều bạn cần biết về select trong SQL Server nhé.
Nếu đang học SQL Server, nhất định bạn nên nắm vững những hàm hay câu lệnh cơ bản, trong đó có SELECT.
Bảng database là những đối tượng chứa tất cả dữ liệu trong cơ sở dữ liệu. Trong một bảng, dữ liệu được sắp xếp hợp lí theo định dạng hàng và cột, tương tự như một bảng tính.
Mỗi hàng đại diện cho một bảng ghi duy nhất trong bảng, và mỗi cột đại diện cho một trường trong bảng ghi. Ví dụ, bảng customers chứa dữ liệu khách hàng như số định danh khách hàng, tên gọi, tên họ, điện thoại, email và thông tin địa chỉ như hình bên dưới:

SQL Server dùng các lược đồ để nhóm hợp lý bảng và các đối tượng database khác. Ở cơ sở dữ liệu mẫu trên, chúng ta có hai schema: sales và production. Schema sales nhóm toàn bộ bảng liên quan tới doanh số bán hàng, còn schema production nhóm toàn bộ bảng liên quan tới sản xuất.
Để truy vấn dữ liệu từ một bảng, bạn dùng các câu lệnh SELECT trong SQL Server. Dưới đây là mọi điều bạn cần biết về câu lệnh SELECT SQL Server.
Những điều cần biết khi dùng select trong SQL Server:
select select_list; from schema_name.table.name;
Để truy xuất tất cả cột từ bảng, select trong SQL Server được sử dụng.
Syntax - select* from table_name;
Những điểm cần ghi nhớ:
Ở dạng đơn giản, cú pháp của lệnh SELECT như sau:
SELECT “biểu thức” FROM “bảng” [WHERE “điều kiện”];
Ở dạng đầy đủ, cú pháp của lệnh SELECT trong SQL Server sẽ là:
SELECT [ ALL | DISTINCT ] [ TOP (gia_tri_dau) [ PERCENT ] [ WITH TIES ] ] “Biểu thức” FROM “bảng” [WHERE “điều kiện”] [GROUP BY “biểu thức”] [HAVING “điều kiện”] [ORDER BY “biểu thức” [ ASC | DESC ]];
Tên biến hoặc giá trị biến:
ALL: Tùy chọn, trả lại tất cả các hàng phù hợp.
DISTINCT: Tùy chọn. Loại bỏ tất cả các giá trị trùng lặp khỏi bộ kết quả.
TOP (gia_tri_dau): Tùy chọn. Nếu chỉ định cụ thể sẽ trả về những giá trị đầu trong bộ kết quả dựa trên gia_tri_dau đã chon. Ví dụ TOP(10) sẽ trả về 10 hàng đầu tiên trong bộ kết quả.
PERCENT: Tùy chọn. Nếu chỉ định cụ thể thì các hàng đầu tiên dựa theo phần trăm trên bộ kết quả (chỉ định bằng gia_tri_dau). Ví dụ TOP(10) PERCENT sẽ trả về top 10% kết quả đầu tiên trong bộ kết quả.
WITH TIES: Tùy chọn. Nếu chỉ định cụ thể thì các hàng cố định ở cuối trong kết quả có giới hạn sẽ được trả về. Điều này có thể khiến cho số hàng trả về nhiều hơn biến TOP cho phép.
Biểu thức: Cột hay giá trị tính toán mà bạn muốn lấy về. Dùng * nếu muốn lấy tất cả các cột.
Bảng: Bảng mà bạn muốn lấy kết quả về. Phải có ít nhất 1 bảng được liệt kê trong lệnh FROM.
WHERE “điều kiện”: Tùy chọn. Điều kiện mà kết quả trả về phải đáp ứng được.
GROUP BY “biểu thức”: Tùy chọn. Thu thập dữ liệu từ nhiều bản ghi và nhóm kết quả theo một hoặc nhiều cột.
HAVING “điều kiện”: Tùy chọn. Dùng kết hợp với GROUP BY để giới hạn nhóm các hàng trả về khi điều kiện được đáp ứng là TRUE.
ORDER BY “biểu thức”: Tùy chọn. Được dùng để lọc bộ kết quả. ASC sẽ lọc theo thứ tự tăng dần và DESC sẽ lọc theo thứ tự giảm dần.
Giả sử ta có bảng dữ liệu Quantrimang.com như sau:
+-------------+--------------+-------------+-------+ |IDChuyenmuc |Muccon |Chuyenmuclon |Sobai | +-------------+--------------+-------------+-------+ | 1 |SQL Server |Lap trinh |101 | | 2 |Facebook |Mang xa hoi |152 | | 3 |Python |Lap trinh |111 | | 4 |JavaScript |Lap trinh |122 | | 5 |Chrome |Web |94 | | 6 |Instagram |Mang xa hoi |165 | +-------------+--------------+-------------+-------+
Ví dụ dùng SELECT chọn tất cả các trường trong bảng
SELECT * FROM [Quantrimang.com] WHERE Sobai > 111 ORDER BY Sobai ASC;
Trong ví dụ này, * được dùng để cho biết sẽ chọn tất cả các trường có Sobai lớn hơn 111 trong bảng Quantrimang.com. Bộ kết quả được sắp xếp theo thứ tự tăng dần của Sobai.
+-------------+--------------+-------------+-------+ |IDChuyenmuc |Muccon |Chuyenmuclon |Sobai | +-------------+--------------+-------------+-------+ | 4 |JavaScript |Lap trinh |122 | | 2 |Facebook |Mang xa hoi |152 | | 6 |Instagram |Mang xa hoi |165 | +-------------+--------------+-------------+-------+
Ví dụ dùng SELECR chọn một số trường trong bảng
SELECT IDChuyenmuc, Chuyenmuclon, Sobai FROM [Quantrimang.com] WHERE IDChuyenmuc > 2 AND Chuyenmuclon = 'Lap trinh' Order By Sobai DESC;
Ở ví dụ nói trên, kết quả trả về sẽ chỉ gồm có IDChuyenmuc, Chuyenmuclon, Sobai với IDChuyenmuc lớn hơn 2 và Chuyenmuclon là 'Lap trinh'. Kết quả trả về được sắp xếp theo Sobai giảm dần như dưới đây:
+-------------+-------------+-------+ |IDChuyenmuc |Chuyenmuclon |Sobai | +-------------+-------------+-------+ | 4 |Lap trinh |122 | | 3 |Lap trinh |111 | +-------------+-------------+-------+
Ví dụ dung SELECT chọn từ nhiều bảng
Để thực hiện ví dụ này, ta có thêm bảng Muc như sau:
+----+-----------+-------------+ | ID |Ten muc |Trang thai | +----+-----------+-------------+ | 1 |Lap trinh |Hien | | 2 |Mang xa hoi|An | | 3 |Web |An | +----+-----------+-------------+
Giả sử ta cần lấy những Muccon có Trangthai là Hien, và những bản ghi phải thỏa mãn Chuyenmuclon của bảng Quantrimang.com và Tenmuc của bảng Muc phải trùng nhau và kết quả trả về sắp xếp theo thứ tự ASC của cột Muccon.
SELECT [Quantrimang.com].Muccon,[Quantrimang.com].Chuyenmuclon,Muc.Trangthai FROM [Quantrimang.com] INNER JOIN Muc ON [Quantrimang.com].Chuyenmuclon=Muc.Tenmuc AND Muc.Trangthai= 'Hien' ORDER BY [Quantrimang.com].Muccon ASC;
Kết quả trả về là bảng dữ liệu sau:
+----------+------------+----------+ |Muccon |Chuyenmuclon|Trangthai | +----------+------------+----------+ |Chrome |Web |Hien | |JavaScript|Lap trinh |Hien | |Python |Lap trinh |Hien | |SQL Server|Lap trinh |Hien | +----------+------------+----------+
Ví dụ dùng SELECT với từ khóa TOP
SELECT TOP(2) * FROM [Quantrimang.com] WHERE Chuyenmuclon='Lap trinh' ORDER BY IDChuyenmuc ASC;
Ở ví dụ này, kết quả sẽ trả về 2 giá trị đầu tiên từ bảng Quantrimang.com với Chuyemuclon là 'Lap trinh'. Dù còn các giá trị khác đáp ứng yêu cầu thì chúng cũng sẽ không được trả về.
+-------------+--------------+-------------+-------+ |IDChuyenmuc |Muccon |Chuyenmuclon |Sobai | +-------------+--------------+-------------+-------+ | 1 |SQL Server |Lap trinh |101 | | 3 |Python |Lap trinh |111 | +-------------+--------------+-------------+-------+
Ví dụ - Dùng từ khóa TOP PERCENT
SELECT TOP(10) PERCENT * FROM [Quantrimang.com] WHERE Chuyenmuclon='Lap trinh' ORDER BY IDChuyenmuc ASC;
Kết quả trả về sẽ gồm 10% giá trị đầu tiên trong toàn bộ kết quả Chuyenmuclon là ‘Lap trinh’ trong bảng Quantrimang.com. 90% kết quả còn lại sẽ không được trả về.
+-------------+--------------+-------------+-------+ |IDChuyenmuc |Muccon |Chuyenmuclon |Sobai | +-------------+--------------+-------------+-------+ | 1 |SQL Server |Lap trinh |101 | +-------------+--------------+-------------+-------+
Dùng DISTINCT với SELECT
Ví dụ sau sùng DISTINCT để ngăn truy xuất các tiêu đề trùng lặp:
USE AdventureWorks2012; GO SELECT DISTINCT JobTitle FROM HumanResources.Employee ORDER BY JobTitle; GO
Tạo bảng với SELECT INTO
Ví dụ đầu tiên tạo một bảng tạm thời mang tên #Bicycles trong tempdb.
USE tempdb; GO IF OBJECT_ID (N'#Bicycles',N'U') IS NOT NULL DROP TABLE #Bicycles; GO SELECT * INTO #Bicycles FROM AdventureWorks2012.Production.Product WHERE ProductNumber LIKE 'BK%'; GO
Ví dụ thứ hai tạo bảng cố định mang tên NewProducts.
USE AdventureWorks2012;
GO
IF OBJECT_ID('dbo.NewProducts', 'U') IS NOT NULL
DROP TABLE dbo.NewProducts;
GO
ALTER DATABASE AdventureWorks2012 SET RECOVERY BULK_LOGGED;
GO
SELECT * INTO dbo.NewProducts
FROM Production.Product
WHERE ListPrice > $25
AND ListPrice < $100;
GO
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
GO
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Cách sử dụng ChatGPT tự động xử lý, trả lời thư mời họp Gmail trong tích tắc
So sánh hệ sinh thái Microsoft Copilot: Nên chọn công cụ nào?
Top 10 công cụ AI viết content tốt nhất năm 2026
Hướng dẫn fix lỗi “It’s Not You, It’s Me” trên Copilot
Cách cấu hình Claude Code Hooks giúp tự động định dạng và kiểm thử code
Cách tự động hóa email hoàn toàn với Grok Bot
TOP công cụ AI chỉnh sửa file PDF tốt nhất
7 công cụ AI mã nguồn mở có thể thay thế các gói đăng ký trả phí
Hướng dẫn tìm địa điểm bằng bản đồ trên Gemini
Cách dùng plugin Gmail trong ChatGPT để chuẩn bị nháp email
13 công cụ AI tốt nhất để tạo tác phẩm nghệ thuật từ một bức ảnh chụp
Hướng dẫn dọn dẹp và quản lý Gmail bằng Gemini
TOP công cụ AI chỉnh sửa ảnh theo từng nhu cầu
5 cách khai thác Gemini với Google Workspace và NotebookLM
TOP Claude Connector tốt nhất cho hoạt động bán hàng
4 lựa chọn thay thế tốt nhất cho Midjourney
Hướng dẫn tạo bài thuyết trình bằng AI trên NoteGPT
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10