Lệnh IF...ELSE trong SQL Server

Thảo luận trong 'Máy tính Linux' bắt đầu bởi hoatuyet, 10/11/18.

  1. hoatuyet New Member

    Giống như các ngôn ngữ lập trình khác, SQL Server cũng cung cấp cho người dùng câu lệnh rẽ nhánh IF...ELSE. Bài viết sẽ hướng dẫn chi tiết cách sử dụng cùng với cú pháp và ví dụ rõ ràng để bạn dễ dàng hình dung hơn về IF...ELSE.

    Mô tả


    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

    [IMG]

    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.

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

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

    Bạn có chắc nguồn nước mình đang sử dụng là nước sạch? Gọi ngay 1900 96 96 20 để được giải đáp #amida #nuocsach #maylocnuoc

Chia sẻ trang này