我有两个简单的表是sqlite3
,我正在尝试使用UNION
运算符编写一个简单的查询,该运算符返回包含任何关系中所有元组的表。
我在写:
SELECT *
FROM test UNION test2
不幸的是,虽然它正在回归:
Error: near "test2": syntax error
有谁知道为什么会这样?一切似乎都应该有用......
答案 0 :(得分:2)
我认为语法应该是:
SELECT col1, col2 FROM test
UNION
SELECT col1, col2 FROM test2
另外,请确保从两个表中选择相同数量的列,并且这些列由相同的数据类型组成。
答案 1 :(得分:1)
这似乎不是UNION
的有效位置。根据{{3}},你必须做这样的事情:
SELECT * FROM test
UNION
SELECT * FROM test2
正如grantmc指出的那样,列也必须是联合兼容的。我不确定SELECT *
在联盟中是否有效,但如果是的话,我不会推荐它。