第一部分:练习
1、创建视图:视图只是存放SELECT语句的临时表格,并不存放实际数据。
注意:避免在视图的基础上再次创建视图,否则会影响SQL的运行速度;视图内存放的是SELECT语句,故其中不可插入数据。
2、子查询:当比较条件需要在表中查找时,要用到子查询
哪个学生的成绩比课程0002的全部成绩里都要高呢
第一步:查询出课程0002的全部成绩
第二步:根据第一步结果查询学生学号
注:当有子查询时间,子查询优先运行
3、标量子查询:子查询只返回一个确定的值时,该子查询为标量子查询。标量子查询可以直接与比较运算符同时使用。
大于平均成绩的学生学号和成绩
该子查询只返回一个值:平均成绩
4、关联子查询
查找出每个课程中大于对应课程平均成绩的学生
第二部分:SQLZOO练习
链接:SELECT within SELECT Tutorial/zh
注:
1. 标量子查询,子查询返回结果仅为俄罗斯人口值,可以直接应用比较运算符。
3. IN的使用
4. 在使用BETWEEN过程中,其查询范围包含了边界,若结果不包含边界时,使用加减法去掉边界;或直接两条件使用AND函数。
5. ROUND函数的应用,保留小数点位数的值可为正数、可为负数、可为0。
6. 当子查询结果为多个值时,要使用ALL或ANY等函数,才可使用比较运算符。
此题可在子查询中直接查出最大值。
7. 关联子查询的应用。
10. 关联子查询与不等号的联合应用,注意除去其与自己比较的情况。