Sql 你能翻译这个SELECT语句吗
我试图理解别人写的代码。表Sql 你能翻译这个SELECT语句吗,sql,Sql,我试图理解别人写的代码。表closure有3列,分别命名为祖先、后代、和长度 我需要帮助的查询是: INSERT INTO table1 (ancestor, descendant, length) SELECT a.ancestor, 12, a.length+1 FROM closure a WHERE a.descendant=11; 通常我会在SELECT语句之后使用列名。它会选择祖先,文字编号12,然后是长度的值加上一。它对列子体等于11的行执行此操作 没有什么可以阻止
closure
有3列,分别命名为祖先
、后代
、和长度
我需要帮助的查询是:
INSERT INTO table1 (ancestor, descendant, length)
SELECT a.ancestor, 12, a.length+1
FROM closure a
WHERE a.descendant=11;
通常我会在
SELECT
语句之后使用列名。它会选择祖先
,文字编号12
,然后是长度的值加上一。它对列子体
等于11的行执行此操作
没有什么可以阻止您在select语句中选择文字和执行算术
如果您希望通过应用程序代码中的列名访问值,您可能希望使用作为somename
(例如选择12作为数字,
)它将选择祖先
,文字编号12
,然后选择长度的值加上一。它对列子体
等于11的行执行此操作
没有什么可以阻止您在select语句中选择文字和执行算术
如果您想通过应用程序代码中的列名访问这些值,您可能想使用作为somename
(例如选择12作为数字,
)这真的是完整的语句吗?看起来像层次遍历的一部分;我希望看到这样的查询是更大的递归查询的一部分。这真的是完整的语句吗?看起来像层次遍历的一部分;我希望看到这样的查询是更大的递归查询的一部分。让我们确保我理解正确。首先,查询标识子体为11
的所有记录。这将生成一个记录列表。然后它获取这些记录,并用数字12
替换子体的值,并(有效地)在长度的值上加上一个。对的(然后将它们插入到表1
,但我的问题实际上是关于选择的)。它不会从选择
中的表中检索子体
,也不会“替换”它。它只使用SELECT
子句中提供的文本值12
。但是,它会检索该行的length
值,并向其添加1。然后是的,它确实插入到表中。让我们确保我理解正确。首先,查询标识子体为11
的所有记录。这将生成一个记录列表。然后它获取这些记录,并用数字12
替换子体的值,并(有效地)在长度的值上加上一个。对的(然后将它们插入到表1
,但我的问题实际上是关于选择的)。它不会从选择
中的表中检索子体
,也不会“替换”它。它只使用SELECT
子句中提供的文本值12
。但是,它会检索该行的length
值,并向其添加1。然后是的,它确实插入到表中。