问题
两个表studentID和teacherMangeStudentID对应的,也就是说Ace老师有两个学生,张三和李四,查出Ace老师教的学生并且按数学成绩排序
思路及代码
# 方法一:子查询,用in
select studentName from A where studentID in (select teacherMangeStudentID from B where teacherName == 'Ace')
order by Maths_score desc;
# 方法二:连表查询,用join
select studentName from A
join B on A.studentID = B.teacherMangeStudentID
where teacherName == 'Ace'
order by Maths_score desc;
知识点
1. 子查询:查询中还有查询,一个select语句的结果作为另一个select语句的一部分;
连表查询:包括合并union、内连接inner join、外连接outer join、交叉连接cross join
参考:
3. sql聚合函数
平均值avg()、最大/小值max()/min()、个数count()、总和sum()等。
(参考:SQL中的聚合函数介绍)
(参考:sql中的聚合函数)