4 ms·
I just wish they had flipped from and select around.
by sumtechguy 6y ago
I just wish they had flipped from and select around.
- NickSharp 6y agoOr "set" and "where"
- nendroid 6y agoIt's not about flipping. The two concepts are actually commutative. You could in theory create syntax that looks like this: FROMCLAUSE * SELECTCLAUSE * WHERECLAUSE = SQLEXPRESSION SELECTCLAUSE * WHERECLAUSE * FROMCLAUSE = SQLEXPRESSION ... The issue is that not only does SQL syntax force an artificial order on these clauses, but that these clauses Cannot be decomposed to be used elsewhere. I cannot reuse a WHERECLAUSE or a SELECTCLAUSE in another expression.
- nendroid 6y agoSome detail here. What goes on in relational algebra is that the FROMCLAUSE is encoded into an axiomatic primitive called a RELATION and you get stuff like this: SELECTCLAUSE(WHERECLAUSE(relation)) = relation WHERECLAUSE(SELECTCLAUSE(relation)) = relation Basically every operation in relational algebra produces a primitive of type RELATION which allows for all operations to be composed like unix pipes. My example in the previous post has a flaw where it's not clear what: SELECTCLAUSE * WHERECLAUSE = ???? will output because there's no meaning to a SQLEXPRESSION without a FROMCLAUSE. But hopefully it illustrates the point. I'm putting this here for anyone who's nitpicky about the details. The relational algebra syntax is much more elegant.