This is something that bothered me a lot at school.

Five years ago, when I learned SQL, I always wondered why we first specify the fields we want and then where we want them from.

According to my idea, we should write:

From Employee e
Select e.Name


So why does the norm say the following?

Select e.Name -- Eeeeek, what does e mean?
From Employee e -- Ok, now I know what e is


It took me weeks to understand SQL, and I know that a lot of that time was consumed by the wrong order of elements.

It is like writing in C#:

string name = employee.Name;
var employee = this.GetEmployee();


So, I assume that it has a historical reason. Why?

Originally SQL language was called SEQUEL standing for


Structured English Query Language
with the emphasize on English, assuming it to be close in spelling to natural language.


Now, spell these two statements as you'd spell English sentences:


"From Employee table e Select column e.Name"
"Select column e.Name From Employee table e"


Second sounds closer to natural English language that's why it is set as norm.

BTW same reasoning goes to Where etc - SQL statements were intentionally designed to sound close to natural language.
