【发布时间】:2016-01-02 16:08:42
【问题描述】:
我正在查看我的书中的一个示例,SQL 反模式。示例表是
TreePaths
==============================
ancestor | descendant
------------------------------
1 1
1 2
1 3
1 4
1 5
1 6
1 7
2 2
2 3
3 3
4 4
4 5
4 6
4 7
5 5
6 6
6 7
7 7
询问我对此感到困惑
INSERT INTO TreePaths (ancestor, descendant)
SELECT t.ancestor, 8
FROM TreePaths AS t
WHERE t.descendant = 5
UNION ALL
SELECT 8,8
所以让我先了解一下子查询
SELECT t.ancestor, 8
FROM TreePaths AS t
WHERE t.descendant = 5
这应该返回
t.ancestor | ????
---------------------
5 ?
5 ?
5 ?
我以为
SELECT x, y
表示x 和y 是名称或列,而8 不是列的名称。这到底是怎么回事?
【问题讨论】:
标签: mysql sql algorithm database-design tree