MySQL 内联(John on)外联(left John on)交叉连接(cross on)

数据库的内连接,外链接,和交叉连接

首先我们新建两个表,分别为员工表和部门表


1.内联(John on或inner join on)

select * from dept as d JOIN emp as e where d.id = e.deptid;

执行上面的spl语句后结果为,

可见内联搜索出两个表同时存在的结果。

2.外联(左外联left join或left outer on和右外联right on 或 right outer on)

select *from dept as d left JOIN emp as e on d.id = e.deptid;

执行之后结果为


可见,左外联,搜索结果为,left join左边的表的字段对应的结果,如果左边的表对应的字段右边的表没有,那么以null填充。

rom dept as d right JOIN emp as e on d.id = e.deptid;

那么右外联的搜索结果怎样呢?


会搜索出右表所有的字段,如果左表没有,会补null。

3.交叉连接(cross join on)

第一种,不带条件

select *from dept d cross JOIN emp e;


可见结果生成的是一个笛卡尔积

如果带条件,

select *from dept d cross JOIN emp e where d.id = e.deptid;


可见,结果和内联是一样的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容