gpt4 book ai didi

mysql - 如何从表 A 和 B 中获取所有结果? (外连接不存在?)

转载 作者:可可西里 更新时间:2023-11-01 07:50:09 28 4
gpt4 key购买 nike

最简单的解释方式是举个例子:

mysql> select * from table_a left join table_b on col_a=col_b;
+-------+-------+
| col_a | col_b |
+-------+-------+
| 1 | NULL |
| 2 | NULL |
| 3 | 3 |
| 4 | 4 |
+-------+-------+

mysql> select * from table_a right join table_b on col_a=col_b;
+-------+-------+
| col_a | col_b |
+-------+-------+
| 3 | 3 |
| 4 | 4 |
| NULL | 5 |
| NULL | 6 |
+-------+-------+

但是我如何得到这个呢?

mysql> select * from table_a ???? table_b on col_a=col_b;
+-------+-------+
| col_a | col_b |
+-------+-------+
| 1 | NULL |
| 2 | NULL |
| 3 | 3 |
| 4 | 4 |
| NULL | 5 |
| NULL | 6 |
+-------+-------+

@Abe 的结构:

CREATE TABLE IF NOT EXISTS `table_a` (
`col_a` int(11) NOT NULL,
PRIMARY KEY (`col_a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


INSERT INTO `table_a` (`col_a`) VALUES
(1),
(2),
(3),
(4);

CREATE TABLE IF NOT EXISTS `table_b` (
`col_b` int(11) NOT NULL,
PRIMARY KEY (`col_b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


INSERT INTO `table_b` (`col_b`) VALUES
(3),
(4),
(5),
(6);

最佳答案

由于 MySQL 中没有 FULL OUTER JOIN 选项,我认为您只能使用 UNION:

select * from table_a left join table_b on col_a=col_b
UNION
select * from table_a right join table_b on col_a=col_b

关于mysql - 如何从表 A 和 B 中获取所有结果? (外连接不存在?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003709/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com