目录
参考链接:
- 联合查询效率较高
内连接(inner Join 或 Join)
- 仅显示两个表中匹配行,即两表中都有才显示
select * from T1 inner join T2 on T1.userid=T2.userid
外连接(outer Join)
左外连接(left outer Join 或 left Join)
- 左表有就显示,不论右表
- 左连接并不是把B表左连接到A表上,而是把A表作为基准表
- 由查询结果可以看出,A、B两表左连接,只要A中有结果,无论B表中有无结果,都会被查询出来
select * from T1 left join T2 on T1.userid=T2.userid
右外连接(right outer Join 或 right Join)
- 类似左连接
select * from T1 right outer join T2 on T1.userid=T2.userid
全外连接(full outer Join 或 full Join)
- 显示左表T1、右表T2两边中的所有行
- 把左联结果表+右联结果表组合在一起,然后 过滤掉重复 的
- 注:MySQL中不支持全外连接
交叉连接 (cross Join)
- 对A、B量表进行笛卡尔积的结果查询
select * from T1 cross join T2 on T1.userid=T2.userid
结果集链接 (union 和 union all)
- Union 用于将多个select结果集进行合并
- UNION 内部的 SELECT 语句必须拥有相同 数量 的列,列也必须拥有相似的 数据类型
- 同时,每条 SELECT 语句中的列的 顺序 必须相同