2016-11-01 62 views
1

如果我有一个表达式,部分表达式通常会有名称,以便我们可以讨论它们,例如,在JOIN部分的名称是什么

A - B 
  • A称为减数
  • B称为被减数
  • 结果被称为

那么,如何正确谈论SQL中的JOIN呢?例如

A JOIN B ON A.id = B.a 

在这个连接中,组件的名称是什么?

  • A:?
  • B:?
  • A JOIN B
  • A.id = B.a连接条件
  • A JOIN B ON A.id = B.a:?

回答

1

望着BNF grammar for the SQL-99 standard,我解释是这样的:

  • A<table reference>
  • B<table reference>
  • A JOIN B:这将是一个<qualified join>但它缺少一个<join specification>
  • A.id = B.a<search condition>其是<boolean value expression>
  • A JOIN B ON A.id = B.a<qualified join>

<join condition>被指定为ON <search condition>

这里是BNF grammar for SQL-2003的相关部分(虽然我认为它应该几乎相同,但稍后会更新一些)。

+0

我也想到了这一点,但这些都是BNF术语,而是描述类型。例如,在BNF中用于减法,A和B将是“值表达式”,而不是减数和减数。 – Rumburak

+0

我无法访问实际完成的标准文档(因为它不是免费的),但是查看SQL2011标准草案([可在档案文件中找到](http://www.wiscorp。 com/sql20nn.zip))语法中的语法术语是标准中使用的。虽然我得到你要找的和语法术语的区别,但我不认为你会找到任何其他的规范名称。这可能是一样好,我相信这些术语在通信中肯定是正确的。 – jpw