4 ms·
SQL is fundamentally about sets, thinking of it in any other way provokes unhappiness. Your differences are set-subverting add-ons which could be accomplished b
by epo 14y ago
SQL is fundamentally about sets, thinking of it in any other way provokes unhappiness. Your differences are set-subverting add-ons which could be accomplished by any higher level front end to SQL.
SQL is comparable to assembly language. Most people don't need it and wouldn't know how to use it properly anyway. These are the sort of people who use PHP and MySQL.
- jfb 14y agoExcept that SQL's fundamental abstraction is the bag, not the set.
- beagle3 14y ago> SQL is fundamentally about sets, Nope. "Relational Algebra" / "Relational Calculus" / "The Relational Model" is about sets. SQL is about bags (orderless like sets, but each item might be repeated multiple times). It's also about order ("ORDER BY" clause) in a horrible inconsistent way. > SQL is comparable to assembly language. Most people don't need it and wouldn't know how to use it properly anyway No, SQL is not comparable to assembly in any meaningful way (you could replace "assembly language" with "danish" in your statement and would be equally true) While assembly language is more verbose, it is more fundamental than everything else in the sense that eventually everything must be expressed in assembly language (machine code, actually, which is equivalent to a proper subset of assembly language) to be executed. Thus, going down to assembly language might be more up-front work, but it is guaranteed that you can match or improve on run-time results from any other language. SQL is an inconsistent abstraction that makes some things simple, some things hard, and some things essentially impossible -- and many of the things it does do, it does in a way that's inherently inefficient. (And don't tell me about the possible smart query optimizer - it doesn't really exist any more than Intel's Itanium optimizer that makes code properly utilize the VLIW; or a Unicorn). edit: add the note about machine code.