Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 你能翻译这个SELECT语句吗_Sql - Fatal编程技术网

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。然后是的,它确实插入到表中。