<story><title>I don&apos;t need your query language</title><url>https://antonz.org/fancy-ql/</url></story><parent_chain><item><author>LunicLynx</author><text>The main issue with sql is, that it is the wrong way around, which eliminates all tooling support.&lt;p&gt;You need to state what you want (select a, b, c) before you tell it from where to get it (from). And no tooling can predict that.&lt;p&gt;So switching this, moving from and joins in front of select, might be everything needed to fix sql.</text></item></parent_chain><comment><author>mabbo</author><text>I agree with you and think this backwards model leads to developers having a poor mental model of what they are doing.&lt;p&gt;Step 1: build the dataset you want (FROM and JOIN) with all columns.&lt;p&gt;Step 2: filter out the rows you don&amp;#x27;t want (WHERE).&lt;p&gt;Step 3: choose which columns&amp;#x2F;values you want (SELECT).&lt;p&gt;Maybe it&amp;#x27;s just me but this model makes so much more sense to me! I&amp;#x27;m sure not every developer has the same way of thinking, but it sure does seem more logical to me.</text></comment>
<story><title>I don&apos;t need your query language</title><url>https://antonz.org/fancy-ql/</url></story><parent_chain><item><author>LunicLynx</author><text>The main issue with sql is, that it is the wrong way around, which eliminates all tooling support.&lt;p&gt;You need to state what you want (select a, b, c) before you tell it from where to get it (from). And no tooling can predict that.&lt;p&gt;So switching this, moving from and joins in front of select, might be everything needed to fix sql.</text></item></parent_chain><comment><author>tester756</author><text>C#&amp;#x27;s LINQ (query syntax, not methods) got it right&lt;p&gt;var result = from s in stringList
            where s.Contains(&amp;quot;Tutorials&amp;quot;) 
            select s;</text></comment>