SQL Server: IF-ELSE


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Cú pháp

IF(Điều_kiện)

  BEGIN

    Khối_lệnh_1;

  END

ELSE

  BEGIN

    Khối_lệnh_2;

  END;

, trong đó, Điều_kiện có thể là một điều kiện thông thường (chứa các phép toán số học, so sánh, logic), điều kiện có chứa truy vấn con SELECT, hoặc điều kiện là hàm EXISTS().

Ví dụ

Ví dụ với điều kiện thông thường

if(3 > 2)
begin
    print N'Đúng';
end
else
begin
    print 'Sai';
end;

Ví dụ với điều kiện chứa truy vấn con SELECT

Giả sử ta muốn kiểm tra xem sinh viên có mã studentId = 123 có đạt học lực giỏi (điểm trung bình >= 8) hay không, thì ta có thể làm như sau:

if((select AVG(mark) from Marks where studentId = 123) >= 8)
begin
    print N'Đạt loại giỏi';
end
else
begin
    print N'Không đạt loại giỏi';
end;

Giải thích:

  - Ở đây bảng Marks là bảng chứa các điểm số của từng sinh viên ứng với từng môn học.

  - Câu lệnh select AVG(mark) from Marks where studentId = 123 sẽ trả về một con số chính là điểm trung bình của sinh viên có mã 123, sau đó đem số này so sanh với 8.

Ví dụ với điều kiện là hàm EXISTS()

Giả sử ta muốn kiểm tra xem sinh viên có mã studentId = 123 đã thi môn học có mã subjectId = 456 hay chưa, thi ta có thể làm như sau:

IF(EXISTS(select * from Marks where studentId = 123 and subjectId = 456))
begin
    print N'Đã thi';
end
ELSE
begin
    print N'Chưa thi';
end;

Giải thích:

Câu lệnh select * from Marks where studentId = 123 and subjectId = 456 là đối số của hàm EXISTS(), câu lệnh này sẽ trả về các bản ghi hoặc không trả về bản ghi nào:

  - Nếu trả về bản ghi thì hàm EXISTS() sẽ trả về TRUE, ngược lại sẽ trả về FALSE.

» Tiếp: FUNCTION (Hàm) tự tạo trong SQL Server
« Trước: Trigger INSTEAD OF
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!