# @ 在 sql 中的应用

@ 是用户变量, @@ 是系统变量

select @a;

@变量名:定义一个用户变量

= 对该用户变量进行赋值
用户变量的赋值有两种方式:

  1. 直接使用 =
  2. 使用 :=
    区别在于:使用 set 命令对用户变量进行赋值时,两种方式都适用,
    使用 select 语句时,只能使用 ‘:=’ 方式,因为 select 语句中, '=' 被看作时比较操作符
    (@i := @i + 1)

# 常量 @ 的用法

  1. 赋值操作
    select @i := 0 a, @c := 1 b, @b := @i + @c f;
    赋值操作

  2. 作为临时表使用
    select *, (select @i := 0 s1) z1 from admin,(select @i := 0 s2) z2;
    作为临时表使用

  3. 数据累计计算
    select *, (@i := @i + 1) as i from user,(select @i := 0) t;
    数据累计计算
    每行的行号通过 @i 展示了出来