MySQL 8.0 参考手册  / 第 3 章教程  / 3.6 常见查询示例  /  3.6.5 使用用户自定义变量

3.6.5 使用用户自定义变量

您可以使用 MySQL 用户变量来记住结果,而不必将它们存储在客户端的临时变量中。(参见 第 9.4 节,“用户定义的变量”。)

例如,要查找价格最高和最低的商品,您可以这样做:

mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|    0003 | D      |  1.25 |
|    0004 | D      | 19.95 |
+---------+--------+-------+
笔记

也可以将数据库对象(如表或列)的名称存储在用户变量中,然后在 SQL 语句中使用该变量;但是,这需要使用准备好的语句。有关详细信息,请参阅 第 13.5 节,“准备好的语句”