软件测试sql基础干货总结之sql表的关联查询(重点内连接)

60 篇文章 1 订阅
60 篇文章 0 订阅

关联查询

之前介绍的内容都是针对一个表进行操作的。在实际开发中,我们经常会把一些信息拆成多个表,好处是便于维护,缺点就是查询起来比较复杂。

关联查询,就是查询多个表的信息。使用关联查询,两个表之间必须有相同的字段进行关联才可以。

内连接(常用)

连接两个表的时候,取的是两个表中都存在的数据。相当于数学中的取交集。

左连接(了解)

连接两个表时,取的是左边表中的所有数据,如果左表中的数据右表中没有对应的,用null来填充。

关键词:left join

右连接(了解)

连接两个表时,取的是右表中特有的数据,对于左表中不存在的数据,用null填充。

关键词:right join

内连接的详解

语法格式:

select * from 表1 inner join 表2 on 表1.列 = 表2.列

内连接语法2:

select * from 表1,表2 where 表1.列= 表2.列

例1:查询学生信息及学生的成绩

有两个表,一个是学生信息表students,一个是成绩表scores,他们通过学生编号studentNo进行关联

注意:

on后面的条件的字段,一定要写清楚是哪个表的字段,语法是 表名.字段名

select * from students inner join scores on students.studentNo = scores.studentNo

上面的结果是一个新的表,把两个表和成一个新的表返回出来。

写法2:通过where:

select * from students,scores where students.studentNo = scores.studentNo

例2:查询课程信息和课程成绩,课程信息的表是courses,课程成绩是scores

注意:

我们可以通过as 给表起别名,在后面on关联的时候就可以使用别名了。

他们的关联字段是courseNo

select * from courses as cour inner join scores as sco on cour.courseNo = sco.courseNo

例3:查询张三的成绩,要求结果显示姓名,课程号和成绩

注意:

1我们先通过内连接关联两个表获取想要的字段,再通过where去筛选新表

2as起别名,as关键字可以省略

select stu.name,sc.courseNO,sc.ccore from students stu
inner join scores sc
on stu.studentNo = sc.studentNo
where stu.name = '张三'

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值