mysql数据库的内外连接

 更新时间:2023年07月20日 10:13:23   作者:学习同学  
这篇文章主要介绍了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内外连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql中workbench实例详解

    mysql中workbench实例详解

    在本篇文章里小编给大家分享了关于mysql中workbench实例内容,有兴趣的朋友们学习下。
    2019-01-01
  • windows下mysql 5.7.20 安装配置方法图文教程

    windows下mysql 5.7.20 安装配置方法图文教程

    这篇文章主要为大家详细介绍了windows下mysql 5.7.20 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • mysql中的日期相减的天数函数

    mysql中的日期相减的天数函数

    这篇文章主要介绍了mysql中的日期相减的天数函数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • MySQL之复杂查询的实现

    MySQL之复杂查询的实现

    本文主要介绍了MySQL之复杂查询的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Mysql连接数设置和获取的方法

    Mysql连接数设置和获取的方法

    这篇文章主要介绍了Mysql连接数设置和获取的方法,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2021-01-01
  • MySQL中SQL连接操作左连接查询(LEFT JOIN)示例详解

    MySQL中SQL连接操作左连接查询(LEFT JOIN)示例详解

    这篇文章主要给大家介绍了关于MySQL中SQL连接操作左连接查询(LEFT JOIN)的相关资料,左连接(LEFT JOIN)是SQL中用于连接两个或多个表的一种操作,它返回左表的所有行,并根据连接条件从右表中匹配行,需要的朋友可以参考下
    2024-12-12
  • mysql跨服务查询之FEDERATED存储引擎的实现

    mysql跨服务查询之FEDERATED存储引擎的实现

    本文主要介绍了mysql跨服务查询之FEDERATED存储引擎的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • MySQL给新建用户并赋予权限最简单的方法

    MySQL给新建用户并赋予权限最简单的方法

    在本篇文章里小编给大家整理的是一篇关于MySQL给新建用户并赋予权限最简单的方法,需要的朋友们参考下。
    2019-11-11
  • Mysql中 show table status 获取表信息的方法

    Mysql中 show table status 获取表信息的方法

    这篇文章主要介绍了Mysql中 show table status 获取表信息的方法的相关资料,需要的朋友可以参考下
    2016-03-03
  • MySQL如何对数据进行排序图文详解

    MySQL如何对数据进行排序图文详解

    我们知道从MySQL表中使用SQL SELECT语句来读取数据,下面这篇文章主要给大家介绍了关于MySQL如何对数据进行排序的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论