Khám phá Transact-SQL và câu lệnh SELECT 

Ngày đăng: 15/11/2023

Transact-SQL có phải là ngôn ngữ SQL? Các câu lệnh của Transact-SQL là gì? Bài viết này sẽ cung cấp cho bạn một cái nhìn tổng quan toàn diện về Transact-SQL, bao gồm các khái niệm, định nghĩa khóa chính, khóa ngoại, các loại câu lệnh SQL và khám phá chi tiết câu lệnh SELECT kèm theo ví dụ.

Hiểu về Transact-SQL 

Transact-SQL (T-SQL) là một ngôn ngữ lập trình được phát triển bởi Microsoft để sử dụng với SQL Server. Nó mở rộng khả năng của SQL tiêu chuẩn bằng cách cung cấp các cấu trúc lập trình và chức năng bổ sung. Bạn cứ hiểu đơn giản T-SQL là SQL nhưng được phát triển và mở rộng bởi Microsoft. 

(Download SQL Server 2022 theo hướng dẫn tại đây)

Ngoài T-SQL, còn một vài ngôn ngữ lập trình khác cũng được phát triển lên từ SQL bởi các nhà phát triển khác như: MySQL, PostgreSQL, MariaDB, SQLite,…. 

Là một phần mở rộng của Ngôn ngữ Truy vấn Cấu trúc (SQL), T-SQL chủ yếu được sử dụng để quản lý và thao tác các cơ sở dữ liệu quan hệ. Nó cho phép người dùng truy xuất, chèn, cập nhật và xóa dữ liệu từ các bảng cơ sở dữ liệu.  

Trong khi SQL là một ngôn ngữ mô tả, tập trung vào chỉ định kết quả mong muốn thì T-SQL cho phép thực hiện các nhiệm vụ phức tạp hơn và logic kinh doanh trong cơ sở dữ liệu.  

Các loại câu lệnh trong T-SQL 

Transact-SQL bao gồm các loại câu lệnh khác nhau được sử dụng để thực hiện các hoạt động khác nhau trên cơ sở dữ liệu. Một số loại câu lệnh SQL thông dụng bao gồm:  

Data Manipulation Language (DML): Các câu lệnh này được sử dụng để truy xuất, chèn, cập nhật và xóa dữ liệu từ các bảng cơ sở dữ liệu. Ví dụ như các câu lệnh SELECT, INSERT, UPDATE và DELETE.  

Data Definition Language (DDL): Các câu lệnh DDL được sử dụng để định nghĩa và thay đổi cấu trúc các đối tượng cơ sở dữ liệu như bảng, view, chỉ mục và ràng buộc. Ví dụ như các câu lệnh CREATE, ALTER và DROP.  

Data Control Language (DCL): Các câu lệnh DCL được sử dụng để kiểm soát quyền truy cập của người dùng trong cơ sở dữ liệu. Ví dụ như các câu lệnh GRANT, DENY và REVOKE.  

Ngoài ra ít được dùng hơn còn có Transaction Control Language (TCL): Các câu lệnh TCL được sử dụng để quản lý giao dịch trong cơ sở dữ liệu, đảm bảo tính toàn vẹn và nhất quán dữ liệu. Ví dụ như các câu lệnh COMMIT, ROLLBACK và SAVEPOINT.  

Khám phá câu lệnh SELECT 

Câu lệnh SELECT là một trong những câu lệnh phổ biến nhất trong SQL cũng như Transact-SQL. Nó được sử dụng để truy xuất dữ liệu từ một hoặc nhiều bảng dựa trên các tiêu chí đã chỉ định. Cú pháp của câu lệnh SELECT cơ bản như sau:

SELECT column1, column2,… FROM table_name WHERE condition

Dưới đây là thứ tự lệnh mà T-SQL sẽ xử lý khi tiếp nhận một câu lệnh SELECT (Được đánh số từ 1 đến 6) 

Câu lệnh SELECT đơn giản 

  • Câu lệnh lấy TẤT CẢ các cột và dòng từ một bảng: 

SELECT * 

FROM table_name 

  • Câu lệnh lấy MỘT SỐ cột từ một bảng: 

SELECT column1, column2, column3,… 

FROM table_name 

Cách viết ghi chú trong SQL Server

Ghi chú được sử dụng để giải thích các phần của câu lệnh SQL hoặc để tạm ngăn việc SQL thực thi một số câu lệnh.

Có 2 cách viết ghi chú trong SQL Server:

  • Chú thích được viết sau kí hiệu — phải nằm ở cuối câu lệnh và bắt buộc ngắt dòng sau khi kết thúc chú thích (có thể viết thành 1 dòng cho dễ nhìn).
  • Chú thích bắt đầu bằng ký hiệu / * và kết thúc bằng * / có thể dùng ở bất kỳ đâu trong câu lệnh T-SQL và có thể trải dài trên vài dòng.

Ví dụ:

-- chú thích tại đây

SELECT ProductKey, Color, ListPrice -- hoặc tại đây

FROM dbo.DimProduct 

/* chú thích tại đây
và có thể gồm nhiều dòng */ 

SELECT EmployeeKey /*hay thậm chí ở đây*/, FirstName, LastName 

FROM dbo.DimEmployee

Đặt tên cho bảng được truy vấn 

Từ khóa “AS” trong SQL được sử dụng để cung cấp cho một bảng hoặc một cột trong bảng một cái tên tạm thời (chỉ tồn tại cho khoảng thời gian của truy vấn). 

Ví dụ: 

SELECT EmployeeKey as 'Ma nhan vien', 

FROM dbo.DimEmployee

Trong ví dụ này, cột EmployeeKey được trả ra sẽ có tên tạm thời là “Ma nhan vien”. 

Sắp xếp thứ tự các dòng cho kết quả truy vấn 

Khi muốn sắp xếp thứ tự các dòng cho kết quả truy vấn, chúng ta sử dụng hàm ORDER BY, kết hợp với từ khóa ASC khi muốn sắp xếp theo thứ tự tăng dần, DESC khi muốn sắp xếp theo thứ tự giảm dần. 

Ví dụ: 

SELECT ProductCategoryID AS Category, [Name] 

FROM dbo.DimProduct 

ORDER BY Category ASC, ListPrice DESC;

Trong ví dụ trên, chúng ta đang thực hiện lấy dữ liệu từ cột ProductCategoryID (đặt tên là “Category”) và cột Name, từ bảng DimProduct và kết quả trả ra được sắp xếp theo thứ tự Category tăng dần, ListPrice giảm dần. 

Cách giới hạn kết quả trả về 

Chúng ta có câu lệnh SELECT TOP được dùng để giới hạn rõ lượng record trả về. 

Ví dụ 1: 

SELECT TOP 10 * FROM dbo.DimProduct 

Câu lệnh trong ví dụ trên trả về top 10 dòng dễ lấy nhất từ bảng DimProduct. 

Lưu ý: Nếu không sử dụng thêm điều kiện nào khác, SQL sẽ chỉ lấy ra những dòng DỄ LẤY NHẤT trong cơ sở dữ liệu. 

Ví dụ 2: 

SELECT TOP 10 ProductKey, EnglishProductName, ListPrice 

FROM dbo.DimProduct 

ORDER BY ListPrice DESC

Ví dụ trên trả ra cho chúng ta kết quả là top 10 dòng có ListPrice thấp nhất của các cột ProductKey, EnglishProductName và ListPrice. 

Kết luận

Trên đây là những kiến thức cơ bản về ngôn ngữ truy vấn T-SQL, câu lệnh đơn giản thường dùng nhất: SELECT và các phần mở rộng của nó. Trong bài viết sau, chúng ta sẽ khám phá tiếp câu lệnh WHERE và các yếu tố dùng để lọc kết quả truy vấn khác. 

Nếu như bạn vẫn chưa biết nên bắt đầu học SQL như thế nào, hãy tham khảo ngay khóa học DP-080 – Querying Data with Microsoft T-SQL theo chương trình chính thức từ Microsoft và được giảng dạy bởi Microsoft Certified Trainer tại Datapot nhé.

Click vào ảnh bên dưới để kết nối với cộng đồng Data Analytics bạn nhé.

Chia sẻ bài viết này

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *