“SQL”的SQL运算符名称是什么<&燃气轮机&引用;?

“SQL”的SQL运算符名称是什么<&燃气轮机&引用;?,sql,operators,Sql,Operators,我很困惑,在谷歌上找不到。谁能告诉我什么是Sql操作符名吗?不等于,它与相同=它是“不相等的”。在您正在使用的数据库的运算符列表中查找相应的部分(通常为“比较运算符”)。例如: 它是不等于运算符。 用法: 选择* 从桌子上 哪里有foo 0 这是不相等运算符,但我必须详细说明才能发布我的答案,因为我还没有输入足够的字符。表示与不相等=检查两个操作数的值是否相等,如果值不相等,则条件变为真。(a b)或(a!=b)是正确的。以下是答案——从技术上讲,两者之间没有区别!=和。两者的工作方式

我很困惑,在谷歌上找不到。谁能告诉我什么是
Sql
操作符名吗?

不等于,它与
相同=

它是“不相等的”。在您正在使用的数据库的运算符列表中查找相应的部分(通常为“比较运算符”)。例如:


    • 它是
      不等于
      运算符。
      用法:

      选择*
      从桌子上
      哪里有foo 0
      
      这是不相等运算符,但我必须详细说明才能发布我的答案,因为我还没有输入足够的字符。

      表示与
      不相等=

      检查两个操作数的值是否相等,如果值不相等,则条件变为真。(a b)或(a!=b)是正确的。

      以下是答案——从技术上讲,两者之间没有区别!=和。两者的工作方式相同,在性能或结果方面绝对没有区别。 如果!=两者都是相同的,在SQL查询中应该使用哪一个


      您可以使用任何一个!=或者在您的查询中两者在技术上是相同的,但我更喜欢使用SQL-92标准。

      和!=我不相信这个说法是正确的,操作符在功能上是等价的,不是<和>的组合,它本身就是一个独立的操作符,不等于。为什么乐观主义者会关心它是大于还是小于这个值?它需要检查的只是它不等于某个东西。我已经在我们的几个存储过程中证明了这一点。这完全取决于表上存在的索引。使用时,我相信引擎会扫描/查找所有大于或小于的值。当我们使用!=,它只适用于所有不等于您定义的值。在这里,我们已经看到一些程序的性能从30分钟提高到3分钟。同样,每个人的环境/索引都不同,但我们尽量避免在索引列上使用运算符,因为它们不可搜索。请参阅:@Kris如果您查看执行计划,您将看到它们崩溃为同一个运算符。您的绩效差异是否可能是由于新的/不同的计划或其他原因造成的?你能证明一下这个问题吗@KrisGruttemeyer:以下是SQL Server的一个证据,证明您的说法是错误的:这是Postgres的另一个证据:执行计划清楚地表明,
      =被优化器重新写入
      :@KrisGruttemeyer您错了。它们被解析为相同的标记。引擎不必做任何小于或大于的事情来进行评估,因为它认为这两个方面都是相同的,所以它甚至没有机会。很明显,你的“证据”在某个时候是无效的。
      select *  
      from table
      where foo <> 0