Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sử dụng toàn bộ biểu thức trong mệnh đề WHERE MySQL

Tạo bảng giá trị

mysql> CREATE TABLE DemoTable1406 (Value INT);
INSERT INTO DemoTable1406 VALUES(10),(50),(40),(30);

Dữ liệu

mysql> SELECT * FROM DemoTable1406;
+-------+
| Value |
+-------+
| 10    |
| 50    |
| 40    |
| 30    |
+-------+

Truy vấn: Dùng biểu thức Value+10 cả trong SELECT và WHERE

mysql> SELECT Value+10 AS ExpectedValue
    -> FROM DemoTable1406
    -> WHERE Value+10 = 40;

Kết quả: Chỉ hàng Value=30 (30+10=40)

+---------------+
| ExpectedValue |
+---------------+
| 40            |
+---------------+

Lưu ý: MySQL cho phép dùng biểu thức (expression) trong WHERE. Tuy nhiên, không thể dùng alias cột (ExpectedValue) trong WHERE cùng cấp (phải lồng subquery hoặc dùng HAVING). Biểu thức được tính toán cho mỗi hàng.