2016-11-01 60 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