Lệnh rẻ nhánh IF ELSE trong SQL Server
Trong bài này bạn sẽ được học một lệnh rất hay dùng để rẻ nhánh chương trình đó là lệnh IF ELSE. Lệnh IF ELSE được sử dụng rất nhiều trong procedure, trigger, function vì nó rất linh động khi xây dựng một chương trình phức tạp.

1. Lệnh IF
Lệnh if sẽ kiểm tra một biểu thức có đúng hay không, nếu đúng thì thực thi nội dung bên trong của IF, nếu sai thì bỏ qua.
IF boolean_expression
BEGIN
{ statement_block }
ENDTrong đó:
- Nội dung bên trong
BEGIN ... ENDchính là phần thân của lệnh IF. boolean_expressionlà biểu thức điều kiện, nếu giá trị biểu thức là TRUE thì phần thân sẽ được chạy, ngược lại thì bỏ qua
Hãy xem ví dụ dưới đây:
Bài viết này được đăng tại [free tuts .net]
BEGIN
DECLARE @sales INT;
SELECT
@sales = SUM(list_price * quantity)
FROM
sales.order_items i
INNER JOIN sales.orders o ON o.order_id = i.order_id
WHERE
YEAR(order_date) = 2018;
SELECT @sales;
IF @sales > 1000000
BEGIN
PRINT 'Great! The sales amount in 2018 is greater than 1,000,000';
END
ENDĐoạn code này kiểm tra số tiền thu về trong năm 2008 có lớn hơn một triệu đô hay không, nếu hơn thì in ra thông báo "Great! The sales amount in 2018 is greater than 1,000,000".
2. Lệnh IF ELSE
Trường hợp điều kiện ở IF là false thì chương trình sẽ chạy ở phần ELSE.
IF Boolean_expression
BEGIN
-- Statement block executes when the Boolean expression is TRUE
END
ELSE
BEGIN
-- Statement block executes when the Boolean expression is FALSE
ENDMỗi lệnh IF đều có biểu thức điều kiện, tuy nhiên phần ELSE thì không cần vì nó là phần sẽ chạy nếu như phần IF không thỏa. Hãy xem ví dụ dưới đây:
BEGIN
DECLARE @sales INT;
SELECT
@sales = SUM(list_price * quantity)
FROM
sales.order_items i
INNER JOIN sales.orders o ON o.order_id = i.order_id
WHERE
YEAR(order_date) = 2017;
SELECT @sales;
IF @sales > 10000000
BEGIN
PRINT 'Great! The sales amount in 2018 is greater than 10,000,000';
END
ELSE
BEGIN
PRINT 'Sales amount in 2017 did not reach 10,000,000';
END
ENDVí dụ này viết lại ở trên, tuy nhiên mình bổ sung phần xuất thông báo ra màn hình như sau: Nếu tổng tiền lớn hơn 1 triệu đô thì in ra thông báo "Great! The sales amount in 2018 is greater than 10,000,000", ngược lại thì in ra thông báo "Sales amount in 2017 did not reach 10,000,000".
3. Lệnh IF ELSE lồng nhau
IF ELSE lồng nhau tức là lệnh IF này nằm bên trong một lệnh IF khác, các sử dụng này sẽ giúp chương trình rẻ rất nhiều nhánh khác nhau.
Hãy xem ví dụ dưới đây:
BEGIN
DECLARE @x INT = 10,
@y INT = 20;
IF (@x > 0)
BEGIN
IF (@x < @y)
PRINT 'x > 0 and x < y';
ELSE
PRINT 'x > 0 and x >= y';
END
ENDNhư bạn thấy lệnh IF ELSE rất hữu ích vì nó giúp chúng ta kiểm soát chương trình một cách hiệu quả, giải quyết được nhiều bài toán phức tạp.
Nếu bạn là lập trình viên và đã từng học qua các ngôn ngữ như C, C++ thì không còn xa lạ gì với lệnh này, chỉ là cú pháp nó được thể hiện ở SQL Server hơi khác.

Thiết lập ID tăng tự động với Identity trong SQL Server
Khóa ngoại (Foreign Key) trong MySQL
Mô hình thực thể mối kết hợp (ER)
Gộp dữ liệu với UNION và UNION ALL trong SQL
Hàm Hàm TO_DATE trong Oracle
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng