Thanks. ;-)
I first had this idea 12 years ago, during a first year C programming lecture at University. The professor declared in the class that if you want to swap the values of two variables, you have to do it with a temporary variable:
X=5
Y=6
# to swap X and Y, introduce a temporary variable Z
Z=X
X=Y
Y=Z
I challenged his declaration and provided the following solution
in 2 steps without a third variable:
X=X+Y
Y=X-Y
X=X-Y
# I know this solution is not perfect:
# when X and Y are big, there is a danger of overflow.
The lecturer was amazed and gave me an 'A' for the subject. *grin*
The solution
set order_id=11-order_id where order_id in (5,6) is just another variant of the same trick.
Update: Thanks
rkg to point out the missing bit. My memory got rusty. The original challenge was to swap the values without using a third temporary variable.