On Tue, Sep 18, 2012 at 2:53 AM, Eden Cardim <eden@insoli.de> wrote:
>>>>>> "Craig" == Craig Ringer <ringerc@ringerc.id.au> writes:
>
> Craig> I just wish they hadn't written it backwards!
>
> Craig> It'd be much less confusing were it formulated as something
> Craig> like:
>
> Craig> SELECT FROM thetable WHERE first_letter > 'a' RESULTS
> Craig> left(value,1) AS first_letter
>
> Craig> or something, where the order is more obvious. I really
> Craig> dislike the way SQL is written not-quite-backwards.
>
> It's not "written backwards", it's plain natural language semantics:
> "give me the first letter of all records where the first letter is
> greater than a". Refining a set is better done walking from the more
> general set to a subset, not the other way around, IMO: "give me all
> persons that are females and over the age of 20". Mathematical set
> builder notation does this in a similar fashion, for the same reason.
Oh no, this debate again..
I do admit LINQ kind of threw me for a loop as they took the other
approach (from f in foo where f.id > 5 select f), which makes you
think about the collection you're working with first. I usually think
about the table first when I'm writing a query.
I can also say if the table came before the columns, we'd probably
have a lot more SQL editors with auto-complete that worked :)
Mike