MySQL中表的内连和外连详解

 更新时间:2025年08月11日 09:39:35   作者:每天敲200行代码  
文章主要讲解内连接与外连接(左、右)的用法,内连接通过WHERE子句筛选笛卡尔积,是开发中最常用的连接方式;外连接则保留左或右表所有数据,练习涵盖学生成绩与部门员工信息的联合查询应用

一、内连接

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

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

注意:前面学习的都是内连接。

练习 —— 显示 SMITH 的名字和部门名称

(1)用前面的写法

(2)用标准的内连接写法

二、外连接

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

1、左外连接

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

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

 练习

  • 建两张表并插入数据

 

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

当左边表和右边表没有匹配时,也会显示左边表的数据 

 

2、右外连接

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

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

练习

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

(2)列出部门名称和这些部门的员工信息,同时列出没有员工的部门

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mysql纵表转换为横表的方法及优化教程

    Mysql纵表转换为横表的方法及优化教程

    在应用中为了从不同的视图去分析数据,会使用不同的方案去查询数据库,横表和纵表的相互转换就是其中一个常见的情景,这篇文章主要给大家介绍了关于Mysql纵表转换为横表的相关资料,需要的朋友可以参考下
    2021-08-08
  • MySQL 存储引擎InnoDB 架构与原理深度解析

    MySQL 存储引擎InnoDB 架构与原理深度解析

    这篇文章详细介绍了MySQL中InnoDB和MyISAM两种主要存储引擎的特性、区别和使用场景,探讨了InnoDB的页结构、分层存储结构以及其在事务管理、崩溃恢复和并发控制方面的优势,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • mysql中json_extract的具体使用

    mysql中json_extract的具体使用

    mysql5.7版本开始支持JSON类型字段,本文主要介绍了mysql中json_extract的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • mysql中关于Myisam_recover自动修复的使用方法

    mysql中关于Myisam_recover自动修复的使用方法

    这篇文章主要介绍了mysql中关于Myisam_recover自动修复的使用方法,需要的朋友可以参考下
    2016-05-05
  • Mysql 报Row size too large 65535 的原因及解决方法

    Mysql 报Row size too large 65535 的原因及解决方法

    这篇文章主要介绍了Mysql 报Row size too large 65535 的原因及解决方法 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • ubuntu下磁盘空间不足导致mysql无法启动的解决方法

    ubuntu下磁盘空间不足导致mysql无法启动的解决方法

    昨天又遇到了MySQL数据库无法重启的问题,还以为是权限的原因,后来发现提示是因为磁盘空间不足导致的,通过查找相关资料得以解决了,所以下面这篇文章主要介绍了ubuntu下磁盘空间不足导致mysql无法启动的解决方法,需要的朋友可以参考下。
    2017-03-03
  • MySQL子查询用法实例分析

    MySQL子查询用法实例分析

    这篇文章主要介绍了MySQL子查询用法,结合实例形式对比分析了MySQL子查询的设置技巧,需要的朋友可以参考下
    2016-04-04
  • MySQL order by与group by查询优化实现详解

    MySQL order by与group by查询优化实现详解

    order by 子句尽量使用index方式排序(即using index),避免使用filesort方式排序(即using filesort)。Index方式效率高,它指MySQL扫描索引本身完成排序,filesort则效率低
    2022-11-11
  • 结合PHP脚本添加和查询MySQL数据的基本教程

    结合PHP脚本添加和查询MySQL数据的基本教程

    这篇文章主要介绍了结合PHP脚本添加和查询MySQL数据的基本教程,即在PHP程序中使用基本的SELECT FROM和INSERT INTO语句,需要的朋友可以参考下
    2015-12-12
  • mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式

    mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式

    这篇文章主要介绍了mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论