2017-04-22 78 views
0

我和我的一個朋友打賭,看看我能否找到CTE爲什麼有共同詞,而且我找不到任何有關該詞的文章或任何內容。我明白這個問題是非常關鍵的問題,但它仍然可以讓初學者程序員更多地瞭解SQL,同時我也會贏得一場賭注。非常感謝爲什麼Common Table Expression被稱爲「Common」?

+3

我想象因爲你可以多次引用它而不需要重複定義。例如。 '用CTE AS(選擇...)選擇*從CTE C1加入CTE C2 ...' –

回答

2

我不確定這適合堆棧溢出,但這是一個有趣的問題。我很確定「常見」是指別名在查詢中的任何位置都可用。把它看作是「碰巧是表的查詢的常見表達式」。我可以想象爲這個野獸討論像「全球」和「本地」這樣的詞語,而「普通」是某種共識。

要理解這個想法,您需要了解子查詢的表別名範圍。這些限制在包含引用和子查詢的查詢的範圍內。當然,CTE是在側向連接之前引入的。那時,沒有辦法在連接中的不同子查詢中共享「通用」表達式。

他們已經存在很長時間了。也許當時參與標準的人可以提供更多的背景知識。

+0

非常感謝。我在想同樣的事情,但沒有任何證據或任何其他來源支持我。 –