MySQL自我学习路线
所用数据库——链接地址
子查询
- 子查询就是嵌套的select语句,可以将子查询理解为一张表
- 一般在子查询中,程序先运行嵌套在最内层的语句,再运行外层。因此在写子查询语句时,可以先测试下内层的子查询语句是否输出了想要的内容,再一层层往外测试,增加子查询正确率,否则多层的嵌套使语句可读性降低
1. 在where语句中使用子查询
- 相当于在where语句中加入select语句
- 一般,在where子句中对于能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不能嵌套太多的子查询
- 在where子句中使用子查询,应该保证select语句具有与where子句中相同数目的列,通常,子查询将返回单个列并且与单个列匹配,但如果需要也可以使用多个列
- 查询成绩大于平均成绩的学生的学号、成绩
SELECT sno,grade FROM sc WHERE grade > (SELECT AVG(grade) FROM sc)