1

我想知道如何进行单个查询以从一个表或另一个表中选择某些内容。例如,我有 aID=2 的表 A 和 bID=3 的表 B。那么如何使查询返回给定 id = 3 的表 A 或表 B 的 id?

提前致谢

4

1 回答 1

1

如果您在运行查询之前不知道要使用哪个表,则可以将多个查询与 结合使用UNION,前提是您选择的列数相同:

SELECT something FROM A WHERE aID = 3
UNION ALL
SELECT something FROM B WHERE bID = 3

如果您不想复制 WHERE 条件,则可以使用嵌套查询并将 WHERE 应用于其结果:

SELECT something
FROM (SELECT aID as ID, something FROM A
      UNION ALL
      SELECT bID      , something FROM B)
WHERE ID = 3
于 2012-09-14T22:21:20.763 回答