CASE – Biểu thức

1. Biểu thức CASE dạng đơn giản

1.1 Mô tả

  • Giá_trị_1, Giá_trị_2: các giá trị cụ thể để so sánh bằng (=) với Biểu_thức.
  • Biểu_thức_kết_quả_1, Biểu_thức_kết_quả_2: biểu thức sẽ được trả về khi việc so sánh của biểu thức bằng với các giá trị so sánh tương ứng.

1.2 Cú pháp

SELECT Tên_cột,
	CASE Biểu_thức
		WHEN Giá_trị_1 THEN Biểu_thức_kết_quả_1
		WHEN Giá_trị_2 THEN Biểu_thức_kết_quả_2
		...
		ELSE Biểu_thức_kết_quả_n
	END
FROM Tên_bảng

1.3 Ví dụ

SELECT Last_name, Job_id, Salary,
	CASE Job_id
		WHEN 'IT_PROG' THEN Salary + 100
		WHEN 'ST_CLERK' THEN Salary + 200
		WHEN 'SA_REP' THEN Salary + 300
		ELSE Salary
	END AS "Lương Mới"
FROM EMPLOYEES

2. Biểu thức CASE dạng tìm kiếm

2.1 Mô tả

  • Biểu_thức_logic_1, Biểu_thức_logic_2: các biểu thức luận lý dùng để thực hiện các phép so sánh trong biểu thức CASE.
  • Biểu_thức_kết_quả_1, Biểu_thức_kết_quả_2: biểu thức sẽ được trả về khi một trong các biểu thức luận lý so sánh có kết quả là đúng.

2.2 Cú pháp

SELECT Tên_cột,
	CASE
		WHEN Biểu_thức_logic_1 THEN Biểu_thức_kết_quả_1
		WHEN Biểu_thức_logic_2 THEN Biểu_thức_kết_quả_2
		...
		ELSE Biểu_thức_kết_quả_n
	END
FROM Tên_bảng

2.3 Ví dụ

SELECT Employee_id, Last_name, Salary,
	CASE
		WHEN Salary < 3000 THEN N'Thấp'
		WHEN Salary BETWEEN 3000 AND 7000 THEN N'Trung bình'
		ELSE N'Cao'
	END "Xếp Loại"
FROM EMPLOYEES

Xem thêm: lệnh rẽ nhánh IF ELSE, vòng lặp WHILE.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *