mysql - 连接 MySQL 查询中两个或多个列的列输出

标签 mysql select join

我正在尝试连接两个或多个 mysql 查询的输出。所以如果查询 1 有 N 列而查询 2 有 M 列,那么输出应该有 N+M 列。 例如:

select * from (select 1,2,3) as X,
              (select 4,5) as Y;

这里的输出是:

1 2 3 4 5

现在的问题是我的第二个查询可能没有结果。这种情况导致根本没有输出:

 select * from (select * from table_0) as X,
              (select * from table_1) as Y;

如果 table_1 未返回任何匹配项,则组合输出不会返回任何行。 我仍然希望返回我的第一个表的条目。

虽然我有一个解决方法,但它涉及对 M 列中的每一个的单独查询。 我也不想创建临时表并加入它们。

最佳答案

LEFT JOIN 应该这样做:

select *
from (select * from table_0) as X
    left join (select * from table_1) as Y on 1;

关于mysql - 连接 MySQL 查询中两个或多个列的列输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590476/

相关文章:

javascript - onclick删除将始终删除表格的最后一行

MySQL:仅当存在特定用户 ID 或用户 ID 为空时才获取结果

php - 比较不同表中的 2 列并返回第二个表的不同值

java - <s :select> use map as list excluding given keys

php - While 循环输出空选择框

mysql - 请帮助我进行表/嵌套 JOIN 优化 : Way too slow!

php - MySQL 是否可以无缝地被 MariaDB 替换,或者在这种情况下有什么需要改变的吗?

php - SELECT WHERE IN 以 GROUP_CONCAT 作为输入

mysql - MySQL中三张表的数据表示

Java - 在 Swing 中加入多个绘图字符串