本文就不详细去说明表连接的概念,举个例子让大家理解表连接的实际用法
学生表
课程表
选课表
1, 查询课号'201803'的学生学号,姓名,成绩,并且成绩按降序排列
select student .student_id ,student .student_name ,choosecouse .score
from student ,choosecouse /*从学生表,选课表中查询学号,姓名,成绩*/
where student .student_id =choosecouse .student_id /*根据学生表里的学号,和选课表的学号,连接学生表和选课表*/
and choosecouse .course_id ='201803' /*选择课号为201803*/
order by choosecouse .score desc/*成绩降序排列*/
执行该查询语句结果如下:
2,左连接
左连接是以左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。
以学生表和选课表为例 :学生表相当于左表,选课表为右表
select * from student left join choosecouse on student .student_id =choosecouse .student_id
执行结果
3、右连接
右连接是以右表为准,将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
select * from student right join choosecouse on student .student_id =choosecouse .student_id
执行结果如下: