广告
返回顶部
首页 > 资讯 > 数据库 >MySQL内外连接
  • 434
分享到

MySQL内外连接

mysql数据库 2023-09-15 18:09:31 434人浏览 泡泡鱼
摘要

目录 前言 1.内连接 2.外连接 2.1左外连接 2.2右外连接 总结 前言         hello,各位小伙伴,大家好,很高兴又和大家见面了,本篇文章为大家介绍的是Mysql中对多张表进行操作的时候要进行多表连接,而连接的方式

目录

前言

1.内连接

2.外连接

2.1左外连接

2.2右外连接

总结


前言

        hello,各位小伙伴,大家好,很高兴又和大家见面了,本篇文章为大家介绍的是Mysql中对多张表进行操作的时候要进行多表连接,而连接的方式又分为内连接和外连接,下面,我们就来一起看看什么是内连接,什么是外连接,以及它们各自都有什么特点。

1.内连接

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

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

案例:显示SMITH的名字和部门名称

用之前的写法:

mysql> select ename,dname from emp,dept where emp.deptno = dept.deptno and ename = 'SMITH';+-------+----------+| ename | dname    |+-------+----------+| SMITH | RESEARCH |+-------+----------+1 row in set (0.00 sec)

用标准内连接的写法:

mysql> select ename,dname from emp inner join dept on emp.deptno = dept.deptno and ename = 'SMITH';+-------+----------+| ename | dname    |+-------+----------+| SMITH | RESEARCH |+-------+----------+1 row in set (0.00 sec)

2.外连接

外连接又分为左外连接和右外连接

2.1左外连接

如果是联合查询,左侧的表需要完全显示,就采用左外连接。

语法:

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);

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

-- 当左边表和右边表没有匹配时,也会显示左边表的数据mysql> select* from stu left join exam on stu.id = exam.id;+------+------+------+-------+| id   | name | id   | grade |+------+------+------+-------+|    1 | jack |    1 |    56 ||    2 | tom  |    2 |    76 ||    3 | kity | NULL |  NULL ||    4 | nono | NULL |  NULL |+------+------+------+-------+4 rows in set (0.00 sec)

2.2右外连接

如果是联合查询,右侧的表需要完全显示,就采用右外连接。

语法:

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

案例:
对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要
显示出来

--当左边的表和右边的表没有匹配时,右边的表也会显示出来mysql> select* from stu right join exam on stu.id = exam.id;+------+------+------+-------+| id   | name | id   | grade |+------+------+------+-------+|    1 | jack |    1 |    56 ||    2 | tom  |    2 |    76 || NULL | NULL |   11 |     8 |+------+------+------+-------+3 rows in set (0.00 sec)

总结

        关于表的内外连接,我们就介绍到这里了,希望大家能够对大家有所帮助,谢谢大家,期待我们下次再见。

来源地址:https://blog.csdn.net/qq_65307907/article/details/131794248

您可能感兴趣的文档:

--结束END--

本文标题: MySQL内外连接

本文链接: https://www.lsjlt.com/news/408921.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作