我想知道如何进行单个查询以从一个表或另一个表中选择某些内容。例如,我有 aID=2 的表 A 和 bID=3 的表 B。那么如何使查询返回给定 id = 3 的表 A 或表 B 的 id?
提前致谢
如果您在运行查询之前不知道要使用哪个表,则可以将多个查询与 结合使用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