我有两张完全不同结构的桌子。我想查询MYSQL以在单个查询中获取两个表中的所有列。
例如,如果我有一个Person表和一个Animal表,我希望我的查询返回:
person_name|person_age|animal_type|animal_name
______________________________________________
Ryan |31 |NULL |NULL
Fred |23 |NULL |NULL
NULL |NULL |Cat |Whiskers
NULL |NULL |Dog |Wishbone
我只有MYSQL的基本知识,我无法理解我正在阅读的大部分资料和谷歌搜索,而且它似乎与我想要的完全不符。
谢谢!
答案 0 :(得分:3)
您想要一个连接两个结果集的UNION ALL查询
SELECT person_name, person_age,
NULL animal_type, NULL animal_name
FROM person
UNION ALL
SELECT NULL person_name, NULL person_age,
animal_type, animal_name
FROM animal
每个SELECT
查询以类似的方式对其结果集进行整形,然后UNION ALL将它们组合在一起。