Giới thiệu

T-SQL (Transact SQL) là ngôn ngữ lập trình cơ sở dữ liệu thủ tục độc quyền của Microsoft dành cho SQL Server. Chúng cũng được sử dụng để viết các thủ tục được lưu trữ, là một đoạn mã nằm trên máy chủ để quản lý các quy tắc nghiệp vụ phức tạp khó hoặc không thể thực hiện trong các hoạt động tổng hợp thuần túy.

Trong SQL, ngôn ngữ T-SQL được chia thành 3 nhóm chính:

+ Ngôn ngữ Định nghĩa Dữ liệu (DDL) - Ngôn ngữ Định nghĩa dữ liệu

+ Ngôn ngữ điều khiển dữ liệu (DCL) - ngôn ngữ điều khiển

+ Ngôn ngữ thao tác dữ liệu (DML) -Ngôn ngữ thao tác dữ liệu

Khai báo và gán giá trị cho biến

Cú pháp khai báo biến:

DECLARE @VAR_NAME VAR_TYPE

Trong đó:

+ DECLARE: từ khóa bắt buộc khi khai báo biến.

+ VAR_NAME: tên biến được khai báo theo quy tắc đặt tên định nghĩa.

+ VAR_TYPE: tên kiểu dữ liệu.

Cú pháp gán giá trị cho biến:

Cách 1:

SET @VAR_NAME = EXPRESSION

Cách 2:

SELECT @VAR_NAME = EXPRESSION

Ví dụ minh họa

Để thuận tiện cho các bạn học tập, mình có tạo sẵn file .sql trong này đã mình tạo cấu trúc bảng và data sẵn để các bạn dễ dàng thực hiện truy vấn, các bạn có thể tải tại đây.

Ví dụ 1: Tìm tất cả nhân viên thuộc phòng số 4.

Hướng dẫn giải:

USE QLDEAN
DECLARE @MA_PHONG SMALLINT
SET @MA_PHONG = 4
SELECT *
FROM NHANVIEN
WHERE PHG = @MA_PHONG

Kết quả:

Ví dụ 2: Tìm tất cả nhân viên tên 'HUNG' và có địa chỉ ở 'TP.HCM'.

Hướng dẫn giải:

USE QLDEAN
GO
-- Khai báo 2 biến
DECLARE @TENNV NVARCHAR(20)
DECLARE @DIACHI NVARCHAR(30)
-- Gán giá trị cho 2 biến
SET @TENNV = 'HUNG'
SET @DIACHI = '%TP.HCM%'
-- Dùng giá trị 2 biến trong mệnh đề WHERE CỦA lệnh SELECT
SELECT *
FROM NHANVIEN
WHERE TENNV = @TENNV AND DCHI LIKE @DIACHI

Kết quả:

Ví dụ 3: Tìm lương cao nhất trong bảng nhân viên và gán trị cho biến 'Luong'

Hướng dẫn giải:

USE QLDEAN
GO
-- Khai báo biến
DECLARE @Luong INT
-- Gán giá trị biến bằng lệnh SELECT
SELECT @Luong = MAX(LUONG)
FROM NHANVIEN
GO

Kết quả:

Ví dụ 4: Tìm tất cả nhân viên có mức lương bằng với mức lương cao nhất trong công ty.

Hướng dẫn giải:

USE QLDEAN
GO
-- Khai báo biến
DECLARE @Luong INT
-- Gán giá trị biến bằng lệnh SELECT
SELECT @Luong = MAX(LUONG)
FROM NHANVIEN
-- Danh sách nhân viên có mức lương cao nhất
SELECT *
FROM NHANVIEN
WHERE LUONG = @Luong

Kết quả:

CÓ THỂ BẠN QUAN TÂM

T SQL - Cấu trúc CASE

T SQL - Cấu trúc CASE

Biểu thức CASE là một biểu thức điều kiện được áp dụng bên trong một biểu thức khác. CASE trả về các giá trị khác nhau tùy thuộc vào điều kiện.

SQL Server - Constraints

SQL Server - Constraints

Trong một CSDL, luôn luôn tồn tại rất nhiều mối liên hệ ảnh hưởng qua lại lẫn nhau giữa các thuộc tính của một quan hệ, giữa các bộ giá trị trong một quan hệ và giữa các thuộc tính của các bộ giá trị...

SQL Server - Lệnh INSERT

SQL Server - Lệnh INSERT

Chức năng: cho phép thêm một hoặc nhiều dòng dữ liệu vào bảng đã tạo sẵn trong cơ sở dữ liệu.

Giới thiệu SQL Server

Giới thiệu SQL Server

Giới thiệu chung SQL (Structured Query Language, đọc là "sequel") là tập lệnh truy xuất trên cơ dữ liệu (CSDL) quan hệ. Ngôn ngữ SQL, được IBM sử dụng đầu tiên trong hệ quản trị CSDL Sytem R vào...

SQL Server - Truy Vấn Lồng

SQL Server - Truy Vấn Lồng

Truy vấn lồng là những câu lệnh mà trong thành phần WHERE có chứa thêm một câu lệnh SELECT khác nữa. Câu lệnh này thường gặp khi dữ liệu cần thiết phải duyệt qua nhiều lần. Đây là một trong những...

SQL Server - Stored Procedure

SQL Server - Stored Procedure

Khái niệm Stored Procedure - SP (thủ tục) là một tập các lệnh T -SQL và một số cấu trúc điều khiển, được lưu với một tên và được thực thi như một đơn vị công việc (Single unit of work) . Một thủ tục...

Cài Đặt SQL Server 2019

Cài Đặt SQL Server 2019

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệ...

SQL Server - User Defined Function

SQL Server - User Defined Function

Khái niệm User Defined Function là những hàm do người dùng tự định nghĩa để đáp ứng một mục tiêu nào đó. Một số hạn chế so với thủ tục là các tham số truyền vào không được mang thuộc tính OUTPUT, ng...

T SQL - Cấu trúc WHILE

T SQL - Cấu trúc WHILE

Câu lệnh WHILE là một cấu trúc lặp sẽ thực hiện các thao tác lặp cho đến khi biểu thức điều kiện trong câu lệnh WHILE có giá trị Fasle. Biểu thức điều kiện lặp lại có thể là một câu lệnh SELECT

ManhDanBlogs