机器,特别是计算机,被设计为人类交流的一种手段。这样,它们的创建方式便使其行为受到使用人工语言的程序的控制。诸如英语之类的自然语言无法被计算机使用,因为词汇量太大且不断变化。

因为计算机没有常识,所以计算机语言需要准确和精确,因此它基于可计算和处理数据以及使计算机能够推理的算法。已经创建了几种计算机语言。它们每个都有两个组成部分,语法或形式以及语义或含义。

有汇编,并发,数据流,定义,功能,中间,逻辑,过程和查询语言。查询语言用于查询数据库和信息系统。一种这样的语言是结构化查询语言(SQL)。
SQL是一种数据库计算机语言,具有以下功能:数据插入,更新和删除,访问和控制以及模式控制和修改。它进一步细分为以下元素:

  • 表达方式
  • 谓词
  • 查询
  • 语句
  • 子句

SQL具有以下子句:

  • 约束子句
  • for update子句
  • from子句
  • Group BY子句
  • Order By子句
  • Where Current Of 子句
  • Having子句
  • Where子句

having子句始终与group by子句一起使用。它用于过滤谓词通过group by子句返回的记录。 group子句的结果通过使用Haven子句进行限制,并且仅选择指定的行。

它类似于where子句,而查询可以同时具有having和where子句。在这种情况下,首先使用where子句,然后在对各个行进行分组之后,使用having子句。 having子句适用于整个组,而where子句适用于单个行。
where子句用于选择要包含在查询中的行,并使用比较谓词,它不包括未被比较谓词评估为真的行。它用于引用聚合函数并在from子句中指定的表中选择各个行的条件中使用。
没有它,行的结果集将变得非常大。它使用以下运算符:=或等于,<>或不等于,>或大于,<或小于,> =或大于或等于,<=小于或等于,BETWEEN,LIKE和IN。

摘要

  1. Have子句用于分组的行,而where子句用于单独的行。
  2. 将它们一起使用时,首先使用where子句选择要分组的行,然后使用having子句。
  3. Have子句与group by子句一起使用,而where子句在from子句指定的行中被使用。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Having和Where子句
本文链接:https://www.vsdiffer.com/vs/having-vs-where-clause.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。