Xem thêm

Lệnh IF...ELSE trong SQL Server: Tìm hiểu cách sử dụng và ứng dụng trong lập trình

Huy Erick
Ảnh minh họa về lệnh IF...ELSE trong SQL Server Nếu bạn quan tâm đến ngành công nghệ thông tin và lập trình, bạn chắc chắn đã từng nghe đến SQL Server và lệnh điều kiện...

Lệnh IF...ELSE trong SQL Server Ảnh minh họa về lệnh IF...ELSE trong SQL Server

Nếu bạn quan tâm đến ngành công nghệ thông tin và lập trình, bạn chắc chắn đã từng nghe đến SQL Server và lệnh điều kiện IF...ELSE trong SQL Server. Vậy lệnh IF...ELSE này là gì? Và cách sử dụng nó như thế nào? Hãy cùng tìm hiểu qua bài viết dưới đây!

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

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

Ví dụ, bạn có thể lên kế hoạch đi đường bộ nếu ngày mai trời mưa, hoặc đi du lịch ở Châu Âu nếu vé máy bay có giá thấp hơn 400 USD. Hành động ở đây là chuyến đi đường bộ hoặc du lịch ở Châu Âu là phụ thuộc vào kết quả của hoạt động khác (trời mưa hoặc giá vé máy bay).

Lệnh IF trong SQL Server

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ó được sử dụng trong các ngôn ngữ lập trình khác để đưa ra quyết định dựa trên một điều kiện và trả về một giá trị. Lệnh IF trong SQL Server chỉ chạy code nằm trong khối IF khi điều kiện được đánh giá là đúng (true), và khi điều kiện bị đánh giá là sai (false), lệnh ELSE sẽ được thực thi.

Dưới đây là cú pháp minh họa cho cách sử dụng lệnh IF trong SQL Server:

IF boolean_expression 
BEGIN 
    { statement_block }
END

Trong cú pháp trên, statement_block trong khối BEGIN...END sẽ đượ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 sẽ được chuyển sang lệnh sau từ khóa END. Lưu ý, 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 Server: Sử dụng câu lệnh rẽ nhánh

Trong SQL Server, câu lệnh IF...ELSE được sử dụng để thực thi các lệnh có điều kiện. Nếu điều kiện đúng, lệnh trong khối IF sẽ được thực thi, còn nếu sai, lệnh trong khối ELSE sẽ được thực thi.

Dưới đây là cú pháp sử dụng câu lệnh IF...ELSE trong SQL Server:

IF điều_kiện 
BEGIN 
    ...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...
}

Lưu ý rằng:

  • Không bắt buộc sử dụng ELSE. Bạn chỉ 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 không đá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.

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

Dưới đây là một ví dụ minh họa cho câu lệnh IF...ELSE trong SQL Server:

DECLARE @nhanvien_salary INT; 
SET @nhanvien_salary = 15000000; 

IF @nhanvien_salary > 12000000 
    PRINT 'Giám đốc'; 
ELSE IF @nhanvien_salary > 10000000 
    PRINT 'Trưởng phòng'; 
ELSE 
    PRINT 'Chuyên viên'; 

GO

Trong ví dụ trên, nếu lương nhân viên lớn hơn 12 triệu, kết quả sẽ là "Giám đốc". Nếu lương nhân viên nằm trong khoảng từ 10 triệu đến 12 triệu, kết quả sẽ là "Trưởng phòng". Trường hợp còn lại, kết quả sẽ là "Chuyên viên".

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

Câu lệnh ELSE là không bắt buộc, vì vậy bạn có thể bỏ qua điều kiện này. Dưới đây là một ví dụ:

DECLARE @nhanvien_salary INT; 
SET @nhanvien_salary = 15000000; 

IF @nhanvien_salary < 10000000 
    PRINT 'Chuyên viên'; 

GO

Trong ví dụ này, chương trình sẽ đưa ra kết quả là "Chuyên viên" nếu lương nhân viên nhỏ hơn 10 triệu. Không sử 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âu lệnh IF...ELSE lồng nhau

Vì không thể sử dụng điều kiện ELSE IF trong SQL Server như trong những ngôn ngữ khác, chúng ta cần sử dụng nhiều câu lệnh IF...ELSE lồng nhau để đạt được hiệu quả mong muốn. Dưới đây là một ví dụ:

DECLARE @nhanvien_salary INT; 
SET @nhanvien_salary = 15000000; 

IF @nhanvien_salary > 12000000 
    PRINT 'Giám đốc'; 
ELSE 
    BEGIN 
        IF @nhanvien_salary > 10000000 
            PRINT 'Trưởng phòng'; 
        ELSE 
            PRINT 'Chuyên viên'; 
    END; 

GO

Ví dụ trên cho thấy nếu lương nhân viên lớn hơn 12 triệu, kết quả sẽ là "Giám đốc". Nếu không, chương trình sẽ xét tiếp đến điều kiện 2, và nếu lương nhân viên lớn hơn 10 triệu, kết quả sẽ là "Trưởng phòng". Trường hợp còn lại, kết quả sẽ là "Chuyên viên".

Kết luận

Trên đây là những điều cần biết về cách sử dụng lệnh SQL Server IF...ELSE. Với những kiến thức và ví dụ trên, bạn có thể áp dụng lệnh IF...ELSE trong lập trình SQL Server một cách linh hoạt và hiệu quả.

Trong quá trình phát triển và sử dụng lệnh IF...ELSE, hãy chắc chắn bạn:

  • Hiểu rõ về biến và cách sử dụng chúng như các placeholder.
  • Sử dụng từ khóa BEGIN để bắt đầu khối lệnh và từ khóa END để kết thúc khối lệnh.
  • Biết cách sử dụng ELSE trong lệnh IF...ELSE (tùy chọn).
  • Tránh lồng lệnh IF trong một lệnh khác để giữ cho code dễ đọc và duy trì.

Hy vọng rằng bài viết này đã cung cấp cho bạn những kiến thức cơ bản về lệnh IF...ELSE trong SQL Server.

1