FROM Table AS t WHERE t.Condition SELECT t.col1, t.col2, ...
might be more natural than the traditional
SELECT t.col1, t.col2, ... FROM Table AS t WHERE t.Condition
If we compare it with how loop are described in programming languages:
Loop -> SELECT-FROM-WHERE
Table -> Collection
AS t -> Loop instance variable
WHERE -> condition on instances
In Java and many other PLs, we write loops as follows:
foreach x in Collection
if x.field == value:
continue
// Do something with x, for example, return in a result set
So we first define the collection (table) we want to process elements from. Then we think about the condition they have satisfy by using the instance variable. And finally in the loop body we do whatever we want, for example, return elements which satisfy the condition.
In Python, loops also specify the collection first:
for x in Collection:
Python list comprehension however uses the traditional order:
[(x.col1, x.col2) for x in Collection if x.field2 == value]
Here we first specify what we want to return, then collection with condition.
In Python, loops also specify the collection first:
Python list comprehension however uses the traditional order: Here we first specify what we want to return, then collection with condition.