I was reading through SQL in easy steps, 3rd Edition and made it to page 152 where it covered Sub-query calculated fields. It’s a fancy way of saying a SELECT statement within a SELECT statement, but isn’t that hard to grasp if you’re familiar with how variable interpolation works with Bash or similar shells.
My problem was understanding how even though a column wasn’t listed as one to be returned by SELECT it was seemingly returned as a byproduct of an ORDER BY statement. I couldn’t find this mentioned in any of the MySQL documentation or another MySQL book I have so I was getting pretty frustrated. I fired my MySQL this morning and opened up subquery-calc.sql and had a good laugh: The mental block I was having was due to an error in the book’s code that wasn’t present in the SQL file.
I fired off an errata report in the hopes that it will be correct in future printings so others won’t be as confused as I was.