Самый простой способ объяснить это на примере:
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);