sql 减法_从零学会SQL:复杂查询

第一部分:练习

1、创建视图:视图只是存放SELECT语句的临时表格,并不存放实际数据。

注意:避免在视图的基础上再次创建视图,否则会影响SQL的运行速度;视图内存放的是SELECT语句,故其中不可插入数据。

6150fea4e70c1408d8e26a6f6e9a0719.png

2、子查询:当比较条件需要在表中查找时,要用到子查询

哪个学生的成绩比课程0002的全部成绩里都要高呢

第一步:查询出课程0002的全部成绩

9a3ef575e21b8d0bbb392392840b1cc7.png

第二步:根据第一步结果查询学生学号

d5de7e595e45011cb7cf33b4fcc3c861.png

注:当有子查询时间,子查询优先运行

711bc8a248de090ce18a260444fb466b.png

3、标量子查询:子查询只返回一个确定的值时,该子查询为标量子查询。标量子查询可以直接与比较运算符同时使用。

大于平均成绩的学生学号和成绩

该子查询只返回一个值:平均成绩

22b6c02a0ba3de40b2c9a9a9aae6239d.png

4、关联子查询

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

a65793f6507407f24a82322f4b51e375.png

第二部分:SQLZOO练习

链接:SELECT within SELECT Tutorial/zh

467bf9997c47009eb7b083b82cc93c2e.png

注:

1. 标量子查询,子查询返回结果仅为俄罗斯人口值,可以直接应用比较运算符。

3. IN的使用

4. 在使用BETWEEN过程中,其查询范围包含了边界,若结果不包含边界时,使用加减法去掉边界;或直接两条件使用AND函数。

5. ROUND函数的应用,保留小数点位数的值可为正数、可为负数、可为0。

6. 当子查询结果为多个值时,要使用ALL或ANY等函数,才可使用比较运算符。

此题可在子查询中直接查出最大值。

7. 关联子查询的应用。

10. 关联子查询与不等号的联合应用,注意除去其与自己比较的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值