Lệnh IF...ELSE trong SQL Server

If trong SQL Server là gì? If Else trong SQL Server được dùng như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Nếu hỏi ngành nghề nào có mức lương cao và được “săn đón” nhất hiện nay, chắc chắn lập trình là câu trả lời bạn nhận được nhiều nhất. Công nghệ thông tin phát triển rõ ràng đã khiến cuộc sống của con người thoải mái, dễ chịu và đạt được nhiều thành tựu tiến bộ hơn. Chính vì thế, ngày càng có nhiều người muốn tham gia vào lĩnh vực này.

Lập trình thực sự là một bộ môn khó, tuy nhiên, nếu bạn thực sự đam mê, vẫn hoàn toàn có thể chinh phục được nó. Chỉ cần chọn một ngôn ngữ mà bạn thực sự thích, sau đó bắt đầu tìm hiểu từ những kiến thức cơ bản nhất.

Dù lựa chọn ngôn ngữ lập trình nào, bạn cũng đều nên biết về SQL Server. Đây là một sản phẩm của Microsoft. Nó không phải là một ngôn ngữ lập trình, mà là một phần mềm hệ thống quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển vào năm 1988.

Hiện SQL Server được sử dụng cho việc tạo, duy trì và triển khai hệ thống quản lý dữ liệu. Khi học SQL Server, nhất định bạn nên biết về lệnh điều kiện hay if else.

Tại sao cần lệnh điều kiện?

Lệnh điều kiện trong SQL Server giúp bạn xác định các logic và hành động khác nhau cho các điều kiện khác nhau. Nó cho phép bạn triển khai hành động dựa trên điều kiện đã định trong lệnh. Thực tế, bạn thực hiện nhiều hành động dựa trên kết quả của một số hoạt động hoặc tình huống khác.

Một số ví dụ thực tế của lệnh điều kiện trong SQL Server là:

  • Nếu ngày mai trời mưa, tôi sẽ lên kế hoạch đi đường bộ.
  • Nếu vé máy bay thấp hơn 400 USD, tôi sẽ đi du lịch ở Châu Âu và tham quan một thắng cảnh gần đó.

Hành động ở đây là chuyến đi đường bộ là điều kiện phụ thuộc vào kết quả của hoạt động khác (trời mưa).

Lệnh if là một phần của hàm luồng điều khiển trong SQL Server. Thông thường, nó là lệnh đưa ra quyết định trong các ngôn ngữ lập trình khác mà trả về một giá trị dựa trên điều kiện được cung cấp. Lệnh này chạy code nằm trong khối IF khi điều kiện đưa ra đánh giá là true và khi điều kiện đánh giá false, lệnh ELSE sẽ được thực thi.

Lệnh IF

Sau đây là cú pháp minh họa cách dùng lệnh IF trong SQL Server:

IF boolean_expression
BEGIN
{ statement_block }
END

Ở cú pháp trên, statement_block trong khối BEGIN…END được thực thi khi boolean_expression đáp ứng điều kiện. Nếu không, khối này sẽ bị bỏ qua và điều khiển chương trình được chuyển sang lệnh này sau từ khóa END. Khi đó, bạn sẽ biết nếu biểu thức chứa lệnh SELECT, bạn cần bao gồm chúng trong dấu ngoặc.

IF...ELSE trong SQL là gì?

Trong SQL Server, câu lệnh IF...ELSE dùng để thực thi các lệnh có điều kiện, nếu lệnh đúng thì thực thi lệnh đó, nếu sai sẽ thực thi một lệnh khác.

Cú pháp sử dụng IF...ELSE

Để sử dụng câu lệnh rẽ nhánh IF...ELSE trong SQL Server, ta sử dụng cú pháp như dưới đây:

IF dieukien
{...câu lệnh thực thi khi điều kiện là TRUE...}

[ ELSE
{...câu lệnh thực thi khi điều kiện là FALSE...} ]

Ghi chú:

  • Không bắt buộc sử dụng ELSE. Bạn sẽ sử dụng điều kiện ELSE khi bạn muốn thực hiện một tập hợp các câu lệnh mà điều kiện IF được đánh giá là FALSE (ví dụ: điều kiện không được đáp ứng).
  • Không có điều kiện ELSE IF nằm trong câu lệnh IF...ELSE. Thay vào đó bạn phải sử dụng nhiều câu lệnh IF.. ELSE lồng nhau để đạt được hiệu quả mong muốn.

Biểu đồ Cấu trúc rẽ nhánh IF...ELSE

Ví dụ - Câu lệnh đầy đủ điều kiện IF...ELSE

DECLARE @nhanvien_salary INT;
SET @nhanvien_salary = 15000000;

IF @nhanvien_salary > 10000000
 PRINT 'Truong phong';
ELSE
 PRINT 'Chuyen vien';

GO

Ở câu lệnh IF...ELSE này, nếu lương nhân viên >12000000 thì kết quả được đưa ra là Trưởng phòng, nếu nhỏ hơn thì là Chuyên viên.

Ví dụ - Câu lệnh không có điều kiện ELSE

Vì ELSE là không bắt buộc nên câu lệnh có thể khuyết thiếu điều kiện này.

DECLARE @nhanvien_salary INT;
SET @nhanvien_salary = 15000000;

IF @nhanvien_salary < 10000000
 PRINT 'Chuyen vien';

GO

Ở câu lệnh này, chương trình sẽ đưa ra kết quả là Chuyen vien nếu như biến @nhanvien_salary < 10000000. Không dùng ELSE khi bạn chắc chắn rằng lệnh này luôn đưa ra kết quả TRUE.

Ví dụ - Các câu lệnh IF...ELSE lồng nhau

Vì chúng ta không thể viết điều kiện ELSE IF trong SQL Server như những ngôn ngữ khác nên cần dùng nhiều câu lệnh IF...ELSE lồng nhau để đạt được hiệu quả mong muốn.

DECLARE @nhanvien_salary INT;
SET @nhanvien_salary = 15000000;

IF @nhanvien_salary > 12000000
 PRINT 'Giam doc';
ELSE

BEGIN

IF @nhanvien_salary > 10000000
 PRINT 'Truong phong';
ELSE
 PRINT 'Chuyen vien';

END;

GO

Ví dụ đưa ra được hiểu là, nếu lương lớn hơn 12 triệu kết quả đưa ra sẽ là Giám đốc, nếu không đat điều kiện này ta xét tiếp xuống điều kiện 2, nếu lương lớn hơn 10 triệu kết quả sẽ là Trưởng phòng, các trường hợp khác là Chuyên viên.

Trên đây là những điều bạn cần biết về cách dùng lệnh SQL Server IF Else. Về cơ bản, bạn cần ghi nhớ những điều sau:

  • Biến là các đối tượng hoạt động như placeholder.
  • Từ khóa BEGIN sẽ được dùng để bắt đầu khối lệnh và từ khóa END phải dùng để đóng nó.
  • Cách dùng ELSE trong lệnh IF… ELSE là tùy chọn.
  • Bạn cũng có thể lồng lệnh IF…ELSE vào bên trong lệnh IF…ELSE. Tuy nhiên, lồng lệnh IF trong một lệnh khác là ý tưởng tồi vì nó chỉ khiến code khó đọc và duy trì.

Bài trước: PROCEDURE (Thủ tục) trong SQL Server

Bài tiếp : Vòng lặp WHILE trong SQL Server

Thứ Ba, 14/11/2023 17:09
420 👨 83.027
0 Bình luận
Sắp xếp theo
    ❖ SQL Server