3.6.5 使用用户定义的变量
您可以使用 MySQL 用户变量来记住结果,而不必将其存储在 Client 端的临时变量中。 (请参阅第 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 |
+---------+--------+-------+
Note
还可以将数据库对象(例如 table 或列)的名称存储在用户变量中,然后在 SQL 语句中使用此变量。但是,这需要使用准备好的语句。有关更多信息,请参见第 13.5 节“准备好的语句”。