MySQL Tutorial  /  Examples of Common Queries  /  Using User-Defined Variables

7.5 Using User-Defined Variables

You can employ MySQL user variables to remember results without having to store them in temporary variables in the client. (See User-Defined Variables.)

For example, to find the articles with the highest and lowest price you can do this:

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 |

It is also possible to store the name of a database object such as a table or a column in a user variable and then to use this variable in an SQL statement; however, this requires the use of a prepared statement. See Prepared SQL Statement Syntax, for more information.

User Comments
  Posted by Daniel on September 30, 2005
Remember that using user variables the query will not be cached if you use the query caching option on the server, and therefore the answer could be slower than what we might expect.

Sign Up Login You must be logged in to post a comment.