我有4-5个表具有几乎相同的名称,我需要选择具有相同名称的列。到目前为止我正在这样做:
SELECT colA, colB FROM Table1
UNION
SELECT colA, colB FROM Table2
UNION
etc...
如果您拥有多个类似的表并且想知道是否有任何替代语法,那么它似乎可能过于冗长。理想情况下,我喜欢通配符,比如
SELECT colA, colB FROM Table%
如果除UNION
之外别无选择,为什么不呢?是否有特殊原因不允许这样做?我想这是因为SQL在表定义(表+列名,类型等)方面应该尽可能具体,同时允许数据操作的灵活性(因此我们有行的通配符)。
答案 0 :(得分:2)
我无法想到。如果我是挑剔的,我会说,如果你有类似的数据表,你应该重新考虑你的数据库设计: - )
答案 1 :(得分:1)
数据库提供程序开发的UNION查询没有替代。
答案 2 :(得分:0)
您可以使用表别名。 例如:
select a.colA, b.colA, a.colB, b.colB
from table1 a