**The Problem – SFWGHO**

When writing T-SQL, Microsoft’s take on the SQL database language, the commands have to come in a certain order. This is:

– SELECT (selecting data)

– FROM (stating which table to get data from)

– WHERE (any filtering conditions)

– GROUP BY (specifying any aggregation to perform)

– HAVING (any filtering to perform on aggregated data)

– ORDER BY (which order to display the final rows in)

It is vital that you put these commands in the right order, otherwise you’ll get a syntax error. The acronym for the commands is SFWGHO, so it’s really just a question of finding a way to remember this series of letters.

**Solutions**

When he first met this problem, the author of this article trawled the Internet for acronyms. I found one site which was running a competition, with one entrant:

*Slippery Fish Will Garnish Hungry Orcas*

Surely there must be better acronyms than that! A little reflection came up with the following ideas:

*Six Fat Wives Gross Husbands Out*

*Sweaty Feet Will Give Horrible Odours*

Out of these, the second seems better (it’s certainly in better taste!). So here is our recommendation for how to remember the order of commands in SQL:

SWEATY or SELECT

FEET or FROM

WILL or WHERE

GIVE or GROUP BY

HORRIBLE or HAVING

ODOURS or ORDER BY

So now there’s no excuse for getting the order of SQL commands wrong, we just need to find a way to remember to put commas in the right place all the time…