其他分享
首页 > 其他分享> > 左联,右联,内联

左联,右联,内联

作者:互联网

此博客连接:https://www.cnblogs.com/ping2yingshi/p/13871481.html

左联,右联,内联

背景

有两个表,一个学生表,一个成绩表。

表结构如下:

学生表中包括学生姓名,学生ID。

  

成绩表中包括学生ID和学生成绩。

表数据如下:

学生表数据如下:

成绩表数据如下:

   

表数据解释:

一共有5个学生,考试时只有三个学生去考试,有两个学生中途弃考了,没有成绩。

需求1

老师要从数据库中得到每个学生的成绩。

实现

方法1左联实现

左联使用情况

当有两张表时,需要先返回左表某个字段的所有行,再加上符合连接条件的匹配行。

分析

老师获取所有学生的成绩可以使用左联,学生表左联成绩表查询所有学生和有成绩的学生成绩

代码

SELECT stu_Name,score FROM student LEFT JOIN score on student.stu_ID=score.stu_ID

查询结果

显示所有学生姓名,只显示部分学生成绩。

 

方法2 右联实现

右联使用情况

当有两张表时,需要先返回右表某个字段的所有行,再加上符合连接条件的匹配行。

分析

老师获取所有学生的成绩可以使用右联,成绩表右联学生表查询所有学生和有成绩的学生成绩

代码

SELECT stu_Name,score FROM score RIGHT JOIN student on student.stu_ID=score.stu_ID

查询结果

显示所有学生姓名,只显示部分学生成绩。

 

需求2

老师想查看成绩大于90的学生是谁。

实现

内联实现需求2

内联使用情况

当有两张表,只有在两个表中条件都满足才返回满足条件的数据。

分析

老师在查看成绩大于90的学生,可以使用内联,成绩表内联学生表,查询成绩大于90的学生姓名。

代码

SELECT stu_Name FROM score INNER JOIN student on student.stu_ID=score.stu_ID and score.score>'90'

查询结果

小白和小蓝的成绩大于90分。

 

 

标签:成绩表,成绩,左联,学生,stu,score,内联,右联,ID
来源: https://www.cnblogs.com/ping2yingshi/p/13871481.html