sqlserver两表查询关联_利用SQL进行复杂查询

通过本文学习+练习,即可学会SQL复杂查询

目录

  1. 视图
  2. 子查询
  3. 标量子查询
  4. 关联子查询
  5. 各种函数
  6. 综合练习

1.视图

1.1什么是视图

e9747ecdd764e75b2bb5a36cfca37a6e.png

1.2如何创建视图

输入SQL语句,创建视图

4ab8d5c169c743e45dd9922292f406da.png

得到创建的视图

2474ab1d9b25bd7a172d1b76350b9bb1.png

1.3创建视图的注意事项

  1. 避免在视图的基础上再创建视图,会降低SQL的运行效率
  2. 不能往视图里插入数据(原数据改变,视图内的数据会自动改变)

2.子查询

2.1什么是子查询

e1fdfd86a6b64129fecd298cf2c1a522.png

2.2如何使用子查询

75eaf16033e9c719d0a2f0b9035881a2.png

例子1:每门课程最低成绩的学号

afe4136fd63a9a51f9ae8c2e4b9fe3c6.png

例子2:那些学生的成绩比课程0002的全部成绩里的任意一个高?

1d57bdf44c8e00ecffef2b2729d220fe.png

例子3:那些学生的成绩比课程0002的全部成绩里的都高

657bce650bdae0942689ce21c8142149.png

3.标量子查询

3.1什么是标量子查询

ae2d0bc45d748d6e81ae81da8d16bf21.png

3.2如何使用标量子查询

例子:大于平均成绩的学生的学号和成绩

be53dcb4984295d71024acd8c8fbcb30.png

例子2:成绩介于差生(成绩<=60)平均成绩和优等生(成绩>80)平均成绩之间的学生

af599a1170e8fe317cd7913320daec09.png

3.3注意事项

标量子查询只能是一个数值,不可是一个数组

4.关联子查询

4.1什么是关联子查询,如何使用关联子查询

例子:找出每个课程中大于对应课程平均成绩的学生

9738b7dea5fd2e0be3a53fffc1d43ec0.png

通过建立关联,将两表的课程号进行关联。

当子查询运行后,输出的课程平均成绩,只会与课程号相同的成绩进行比较。

4.2关联子查询什么时候用

在每个组里面进行比较的时候,可以使用,例子中通过课程号进行了分组,只会将相同课程号里的成绩与平均成绩进行比较。

5.各种函数

5c701705a317dc93d71df1ce607de42e.png

741c81e779e9c836d4f8eb61e0620f83.png

dc2ad57a7ab1ba2eef030bf29f329c16.png

59a4acbac6ee2e9e6515ae797dea3b3a.png

6.综合练习

6c48896026e02e5fbf8785812e5c500a.png

003aba12d15d08f080017c8681314837.png

3b00c530ed365178fc66694b2dcbd965.png

d9b07e1876aba13b77f07a71deae1a37.png

7aa25ba2b54a0b6951507352b629dd28.png

bc8a6c2c999075f9cc868d9ac5a3812c.png

daf6de17566bea825913394931417e8b.png

91b2df6248bbb6bca4327dfe1d9cbd6a.png

f8228e2e75b06fb2bb432f4f5257158e.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值