当前位置:   article > 正文

数据库-连接查询_数据库连接查询

数据库连接查询

数据库连接查询可以进行多表联查,可以同时展示多个表的数据,方便进行查阅。那么连接查询分为多种方式,我们可以根据要求筛选合适的方式进行查询。下面我们来讲解一下怎么进行多表联查。

首先连接查询大致分为3种形式,分别为:
内连接,外连接,交叉连接

1、表格数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、详解

(1)内连接
内连接,找的是两个表里共有数据(即交集),关键字是inner join on,inner join连接两个表,on是连接字段,如下所示,这两张表分别为b1表,b2表。
b1:(学号,年龄)
b2:(学号,成绩)
在这里插入图片描述
在这里插入图片描述
通过上边这俩表可以看出来,b1表里边有1,2,3号学生,b2表里边有1,2,4号学生,那么内连接是查询两个表里边共有的部分,查询结果应该是1,2号学生。
如下:
规则形式
在这里插入图片描述
不规则形式
内连接的不规则形式,可以用逗号连接两张表,连接条件用where表示
在这里插入图片描述
(2)外连接
外连接分为:左外,右外,全外
1)左外:left join on 左外连接是以左表为主,右表为辅,主表有的数据,辅表没有,则辅表用空补齐主表。如下:
在这里插入图片描述
2)右外:right join on 右外连接是以右表为主,左表为辅,主表有的数据,辅表没有,则辅表用空补齐主表。如下
在这里插入图片描述

3)全外:左外+union+右外 全外是互为主表,即并集。
在这里插入图片描述
(3)交叉连接
交叉连接的关键字是:cross join。交叉连接是查看两个表的组合有多少个,完全匹配。
在这里插入图片描述

3、练习

例1:
查询参加考试的学生的信息
在这里插入图片描述

分析:
题目要求是“找参加考试的学生的信息”,所以只要成绩表里有成绩的人,都是参加考试的人。展示的字段分别来源于两个表。
stud.sid是表示sid是哪个表的,因为stud表里有sid
score表里也有sid,所以如果前边没有标明表的话,会报错

例2:
哪个学生,哪门课,考了多少分
在这里插入图片描述
分析:
上边这个例子涉及到了3个表,当多表连接时,中间表就尤为重要了,它起到承上启下的作用,那么我们这个例子用的中间表是成绩表(score),因为成绩表里有学号(sid),学号来源于学生表,起承上作用;成绩表中还有课程号(cid),课程号来源于课程表(course),启下作用。

例3:
查询90分以上的姓名,课程,成绩
在这里插入图片描述
例4:
查询姓名,课程,成绩,并按照成绩升序排序
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/1015380
推荐阅读
相关标签
  

闽ICP备14008679号