连接具有不明确列的表:从多个复制表中选择数据
从具有相同结构但分离的多个表中检索数据的挑战在 WHERE 子句中指定列时,for 本地化会产生歧义。当比较不明确的列时,例如查询中的“流派”,MySQL 无法确定要引用哪个表。
解决方案:利用 UNION 运算符
解决此歧义,您可以使用 UNION 运算符。 UNION 组合两个或多个 SELECT 语句的结果,通过各个表中所有行的并集有效地创建一个虚拟表。
修改的查询:
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
解释:
此修改后的查询将每个涉及的 SELECT 语句分开 桌子。每个子查询从特定表中检索数据,确保“流派”列引用中没有歧义。然后,UNION 运算符将结果组合成一个结果集,为您提供多个表中所需的数据。
以上是如何从具有相同、不明确列的多个表中选择数据?的详细内容。更多信息请关注PHP中文网其他相关文章!