<story><title>SQL reserved words – An empirical list</title><url>https://modern-sql.com/reserved-words-empirical-list</url></story><parent_chain><item><author>nextaccountic</author><text>The only other language like this I can think of is Rust. You can write r#keyword to quote a keyword to be used as an identifier.&lt;p&gt;This solution was devised as a means to add keywords to new editions of the language without breaking code written in the old edition that named this stuff the same as the keyword (and with full interoperability between code from new editions and old editions)&lt;p&gt;So if some function in some Rust 2015 library was named async (a new keyword introduced in Rust 2018), you can call it like r#async() in newer versions</text></item><item><author>paulddraper</author><text>SQL doesn&amp;#x27;t say you can&amp;#x27;t use than name. All that a reserved word means is that you need to quote it to disambiguate.&lt;p&gt;&lt;pre&gt;&lt;code&gt;  CREATE TABLE &amp;quot;user&amp;quot; (
    id int PRIMARY KEY,
    name varchar(50) NOT NULL
  );
&lt;/code&gt;&lt;/pre&gt;
In fact, in this respect, SQL is much &lt;i&gt;better&lt;/i&gt; than most languages with their `clazz` and `klass` and `func`.</text></item><item><author>SPBS</author><text>SQL&amp;#x27;s most egregious reserved keyword is, in my opinion, &amp;quot;user&amp;quot;. Almost every application will have a users table. I gravitate towards singular table names these days [1], and SQL sitting its fat behind on the word &amp;quot;user&amp;quot; means I always have to defer to &amp;quot;users&amp;quot; just for the users table. There is almost no other keyword that I regularly run into conflict with other than &amp;quot;user&amp;quot;. I don&amp;#x27;t even use the &amp;quot;user&amp;quot; keyword in any SQL queries, what a terrible trade off.&lt;p&gt;[1] I used to prefer plural names, but now I favor singular names because no naming headaches with the plural intricacies of the English language.</text></item></parent_chain><comment><author>Tiberium</author><text>To join the other commenters, in Nim you use backticks to allow using Nim keywords - this is important for e.g. nice deserialization where some JSON object has a field like `type` which is a keyword in Nim.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;nim-lang.org&amp;#x2F;docs&amp;#x2F;json.html#overview-unmarshalling&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;nim-lang.org&amp;#x2F;docs&amp;#x2F;json.html#overview-unmarshalling&lt;/a&gt;</text></comment>
<story><title>SQL reserved words – An empirical list</title><url>https://modern-sql.com/reserved-words-empirical-list</url></story><parent_chain><item><author>nextaccountic</author><text>The only other language like this I can think of is Rust. You can write r#keyword to quote a keyword to be used as an identifier.&lt;p&gt;This solution was devised as a means to add keywords to new editions of the language without breaking code written in the old edition that named this stuff the same as the keyword (and with full interoperability between code from new editions and old editions)&lt;p&gt;So if some function in some Rust 2015 library was named async (a new keyword introduced in Rust 2018), you can call it like r#async() in newer versions</text></item><item><author>paulddraper</author><text>SQL doesn&amp;#x27;t say you can&amp;#x27;t use than name. All that a reserved word means is that you need to quote it to disambiguate.&lt;p&gt;&lt;pre&gt;&lt;code&gt;  CREATE TABLE &amp;quot;user&amp;quot; (
    id int PRIMARY KEY,
    name varchar(50) NOT NULL
  );
&lt;/code&gt;&lt;/pre&gt;
In fact, in this respect, SQL is much &lt;i&gt;better&lt;/i&gt; than most languages with their `clazz` and `klass` and `func`.</text></item><item><author>SPBS</author><text>SQL&amp;#x27;s most egregious reserved keyword is, in my opinion, &amp;quot;user&amp;quot;. Almost every application will have a users table. I gravitate towards singular table names these days [1], and SQL sitting its fat behind on the word &amp;quot;user&amp;quot; means I always have to defer to &amp;quot;users&amp;quot; just for the users table. There is almost no other keyword that I regularly run into conflict with other than &amp;quot;user&amp;quot;. I don&amp;#x27;t even use the &amp;quot;user&amp;quot; keyword in any SQL queries, what a terrible trade off.&lt;p&gt;[1] I used to prefer plural names, but now I favor singular names because no naming headaches with the plural intricacies of the English language.</text></item></parent_chain><comment><author>recursive</author><text>In C# you can prefix with @ to achieve the same thing.</text></comment>