3个表连接

查询学生信息及学生的课程对应的成绩
方法1:等值查询

select
*
from students,courses,scores
where
students.studentNo=scores.studentno and scores.courseNo=courses.courseNo

方法2:内查询

select
*
from students
inner join scores on students.studentNo=scores.studentno
inner join courses on scores.courseNo=courses.courseNo

左连接

例1:查询所有学生的成绩,包括没有成绩的学生

假如使用等值连接或者内连接。

SELECT
*
FROM
students
inner join scores on students.studentno=scores.studentno


一共12个人,只显示8条数据,是因为scores中只有8条数据,这样有些人没有成绩再内连接和等值连接的方法中无法显示
使用左连接,可以保留左表的全部信息。如下

select
*
from
students stu
left join scores sc on stu.studentNo = sc.studentNo


学生表学号和得分表学号对应的数据一共8个这是在内连接时候我们知道的。从得分表中我们可以看到在只有6个人有成绩及,剩余6人没有成绩,所以6+8=14,则说明我们可以满足要求,在查询成绩的情况下,显示所有人的成绩信息,包含没有成绩人的信息。

例2:查询所有学生的成绩,包括没有成绩的学生,需要显示课程名

select
*
from
students stu
left join scores sc on stu.studentNo = sc.studentNo
left join courses cs on cs.courseNo = sc.courseNo

右连接

添加两门课程

insert into courses values
(0, '语文'),
(0, '数学');

例1:查询所有课程的成绩,包括没有成绩的课程

select
*
from
scores sc
right join courses cs on cs.courseNo = sc.courseNo

例2:查询所有课程的成绩,包括没有成绩的课程,包括学生信息

select
*
from
scores sc
right join courses cs on cs.courseNo = sc.courseNo
left join students stu on stu.studentNo = sc.studentNo

MySQL-3个表连接、左连接、右连接-2021/09/06相关推荐

  1. 数据库内、外、左、右连接详解

    写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...

  2. 区分笛卡儿积,自然连接,等值连接,内连接,外连接—左,右

    1.笛卡尔积 笛卡儿积,不用多说,返回所有的情况. 2.自然连接 自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系.自然连接是一种特殊的等值 ...

  3. linq to entity 左联接 右连接 以及内连接写法的区别(转)

    linq to entity 左连接 右连接 以及内连接写法的区别  还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...

  4. oracle右连接失效,oracle 右连接

    t1.name(+) = t2.name 的意思是 用t2表做主表 t1表做副表做右关联 会用t2的所有数据,如果和t1关联不上则放空值 转自http://blog.csdn.net/one132/a ...

  5. mysql半连接_mysql表的半连接,反连接导致的mysql性能优化剖析

    [导读] 关于Oracle的半连接,反连接,我一直认为这是一个能讲很长时间的话题,所以在我的新书<Oracle DBA工作笔记>中讲性能优化的时候,我花... 关于Oracle的半连接,反 ...

  6. mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)

    mysql 实现表连接(左,右,内,全连接) 查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处 表 a,和表b 如下图 a 表中 有 abcd b表中有 abcf 内连接:SELE ...

  7. mysql之左连接与右连接

    左连接: select 列1,列2,列N from tableA left join tableB on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一 ...

  8. MYSQL语法:左连接、右连接、内连接、全外连接

    文章目录 概念 上手使用 left join(左连接) rint join(右连接) inner join(内连接,等同join) full join(全连接,等同full outer join) 概 ...

  9. 图解MySQL 内连接、左连接、右连接

    一.准备工作 用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). ...

  10. SQL中多表查询:左连接、右连接、内连接、全连接、交叉连接

    一.左连接,右连接,内连接关系 左连接:左表全部+两个表交集(①+②) 右连接:右表全部+两个表交集(③+②) 内连接:两个表交集(②) 二.结合具体例子看(已经在mysql中执行过的例子,可以运行, ...

最新文章

  1. 步步为营UML建模系列二、部署图(Deployment Diagram)
  2. select multiple=multiple 数据回显
  3. Go语言_通神路五耀篇(3)
  4. 使用 Mesos 管理虚拟机
  5. java se程序设计_JavaSE--Java 的基本程序设计结构
  6. pytorch统计矩阵非0的个数_矩阵的三种存储方式---三元组法 行逻辑链接法 十字链表法...
  7. RBF非线性滤波的Matlab,基于RBF神经网络的非线性滤波器的研究
  8. 计算机原子指令,计算机体系结构——多线程(核)访存“上锁”——原子指令...
  9. 解决linux服务器上matplotlib中文显示乱码问题
  10. 转帖“爸爸请您不要再去买股票了”
  11. ios开发之小总结「类与对象的判断方法和遍历字典的方法」
  12. 2.11.PHP7.1 狐教程-【PHP 数组】
  13. DSP芯片TMS320C6678的spi挂载flash启动
  14. 服务器修改硬盘顺序,服务器硬盘阵列硬盘顺序
  15. 安卓逆向_6 --- Dalvik 字节码、Smali 详解
  16. 更新linux yum源,CentOS 更新yum源
  17. 经典BBS语录100条
  18. 云洲智能,能否成为科创板无人船艇第一股?
  19. 希尔伯特谱、边际谱、包络谱、瞬时频率/幅值/相位——Hilbert分析衍生方法及MATLAB实现
  20. 「儒系」产品经理:管理预期,做好增长的3个核心要素

热门文章

  1. To Kill a Mockingbird(杀死一只反舌鸟)简记
  2. 软件充值功能测试点有哪些?以手机话费充值为例
  3. asterisk注册河南联通ims
  4. chm转过程html,Word文档转换成chm技巧
  5. MAC 安装opencv的过程
  6. python之Continuity循环
  7. 小熊派 LVGL 移植文件系统
  8. 查询个人电脑当前公网IP地址
  9. win10打开游戏提示你的图形硬件不支持怎么办
  10. 2022年最新文本生成图像研究 开源工作速览(Papers with code)