数据库,相关子查询是怎样实现的啊?

如题所述

你可以这样理解:

    select sno, cno form sc x;   把全表中的数据查询出来

    然后,再操作

    select avg(grade) from sc y where y.sno=x.sno ;  根据上面的查询中的每一个x.sno查询对应的平均成绩

    最后,检查x.grade比其平均成绩大的数据,进行输出

追问

但相关子查询和不相关子查询的区别就在于,子查询是否依赖于外查询,这个子查询求的每一个avg是依赖于外部的结果的吧

那普通的不相关子查询,理解就是先看内层,根据内层的条件再看外层

这个相关子查询就是先看外层,用外层的结果来算内层是么

追答

“这个相关子查询就是先看外层,用外层的结果来算内层是么” 就这句能看懂,应该 就是这个意思。

温馨提示:答案为网友推荐,仅供参考
相似回答