Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql内外连接

mysql数据库的内外连接

作者:学习同学

这篇文章主要介绍了mysql数据库的内外连接,内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询,需要的朋友可以参考下

mysql内外连接

表的内外连接是mysql中比较常用的内容 也是我们学习mysql的重点

但是其实它的内容和语法都是很少很简单的

内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连 接,也是在开发过程中使用的最多的连接查询

语法

select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;

不过其实这里我并不推荐大家使用内连接 因为使用内连接的场景都可以使用笛卡尔积来替代

比如说下面的几道例题

显示SMITH的名字和部门名称

这是使用笛卡尔积做出的结果

在这里插入图片描述

这是使用内连接做出的结果

在这里插入图片描述

外连接 左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。

左外连接的语法格式是这样子的

select 字段名 from 表名1 left join 表名2 on 连接条件

下面是案例

查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来

-- 建两张表
create table stu (id int, name varchar(30)); -- 学生表
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');
create table exam (id int, grade int); -- 成绩表
insert into exam values(1, 56),(2,76),(11, 8);

在我们前面使用笛卡尔积做的时候会删除掉一些“无效数据” 但是有时候我们不想要这些数据被删除 此时我们就可以使用左外连接来处理

使用左外连接之后 我们可以查找一些所谓的‘无效数据’

在这里插入图片描述

这里我们就可以发现 exam的id为null依旧显示出来了

右外连接

右外连接和左外连接之间只差了一个关键字

语法:

select 字段名 from 表名1 right join 表名2 on 连接条件

我们还是使用上面的题目 稍微改变下语法即可

在这里插入图片描述

总结

在这里插入图片描述

到此这篇关于mysql数据库的内外连接的文章就介绍到这了,更多相关mysql内外连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文