交叉连接
就是笛卡尔积,两张表每一行和另外表的每一行连接,没有连接条件
select * from r, s;
内连接
只有满足条件的才会显示
select * from r, s on r.c = s.c;
外连接
分为左外连接和右外连接
以左外为例,左边全部显示,右边符合条件显示,不符合为空
select * from r, s left join on r.c = s.c;
联合查询
联合查询不显示重复的行,但是合一通过union all显示重复的行
把多次结果组合在一起,每次查询的列需要相同
SELECT * FROM A UNION SELECT * FROM B UNION ...
全连接
mysql不支持
但是mysql可以通过左外连接 联合查询 右外查询得到
SELECT * FROM A LEFT JOIN B ON A.id=B.id UNIONSELECT * FROM A RIGHT JOIN B ON A.id=B.id