Không có cách nào để tham chiếu đến bí danh, nhưng bạn có thể gán biểu thức cho một biến, sau đó tham chiếu đến biến trong cùng một mệnh đề chọn.
Bên trong một câu lệnh select, việc gán biến luôn được thực hiện bởi toán tử infix :=
. * Trong một SET
, nó có thể là =
hoặc :=
.
ví dụ.
SELECT
ord_id
, candy_id
, price
, quantity
, @exc_cost := price * quantity AS exc_cost
, @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>
Bạn cũng có thể thực hiện gán biến có điều kiện.
ví dụ.
IF(quantity > 90,
@exc_cost := price * quantity * 0.95
, @exc_cost := price * quantity) AS exc_cost
Lưu ý 1:Trong trường hợp không có các thước đo tổng hợp &nhóm theo mệnh đề, các biến được đánh giá theo thứ tự cột:
SELECT @t, @t+2 FROM (SELECT @t := 1) a
tạo ra đầu ra
@t @t+2
1 3