懒人摘抄(内容转自CSDN资源中教程)-数据查询07-子查询

原创 2007年09月19日 09:50:00

相关子查询

在前面的例子中,每个子查询仅执行一次,返回的值为主查询的WHERE子句所用。在有的查询中,子查询不只执行一次,例如,要显示其成绩比该课程平均成绩高的成绩表,其主查询为:

SELECT sno,cno,degree

FROM score

WHERE degree >(待选学生所修课程的平均分)

该子查询为:

SELECT AVG(degree)

FROM score

WHERE cno=(主查询待选行的课程号cno)

这样,主查询在判断每个待选行时,必须“唤醒”子查询,告诉它该学生选修的课程号,并由子查询计算课程的平均成绩,然后将该学生的degree与平均成绩进行比较,找出相应的符合条件的行,我们把这种子查询称为相关子查询

5.29查询成绩比该课程平均成绩低的学生成绩表。

SELECT sno,cno,degree

FROM score a

WHERE degree<

   (SELECT AVG(degree)

    FROM score b

    WHERE a.cno=b.cno)

本例执行结果如下:

sno   cno        degree              

----- ---------- ----------

101   3-105      64

109   3-105      76

108   3-105      78

109   3-245      68

105   3-245      75

107   6-166      79

108   6-166      81

理解上述相关子查询的关键是别名,它出现在主查询“FROM score a”和子查询“FROM score b”中。这样同一个表相当于两个表,当在子查询中使用a.cno时,它访问待选行的cno,这时是一个常量,从而在b别名中找出该常量课程的平均分。由于这个过程很费时,因此不要对大于使用相关子查询。 

相关文章推荐

数据应用达人之SQL基础教程分享8-子查询、连接、组合查询

6.子查询 更为复杂的子查询 1、子查询 【知识点介绍】 学习到现在,我们已经使用WHERE进行了很多简单的查询,一个条件、多个条件的查询都处理过了。 那么什么是子查询?...

oracle子查询教程(ppt )

  • 2008年12月23日 20:29
  • 211KB
  • 下载

CH2_数据查询_连接查询与子查询

  • 2010年12月17日 08:30
  • 495KB
  • 下载

Oracle体系结构 转自: http://blog.csdn.net/truexf/archive/2006/07/05/881726.aspx

第一篇 Oracle架构总览先让我们来看一张图这张就是Oracle 9i的架构全图。看上去,很繁杂。是的,是这样的。现在让我们来梳理一下:一、数据库、表空间、数据文件1.数据库数据库是数据集合。Ora...

【畅言】不把C作为第一门语言是个好主意么?-----转自 http://www.csdn.net/article/2014-07-01/2820467

摘要:不少人认为,第一门语言最好不要学C,而V众投发起人李智勇却不这么看。他认为如果真想做好开发,想更好地实现人生价值(包括现金价值),那么打基础很必要,而从C语言,这种厚积薄发的语言开始学习学起,则...

Mysql之子查询实例(#代表是注释内容)

Mysql之子查询实例(#代表是注释内容)

SQL Server高级内容之子查询和表链接

1.子查询概念    (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询。    (2)自查询的分类   1)独...

sqlite中如何查询数据库中存在的所有表?(转自:http://topic.csdn.net/u/20081231/16/6aee6233-32c2-4f20-a3d7-0cb154974ce4.)

sqlite中如何查询数据库中存在的所有表? 请指教!!! 官方文档就有。 http://www.sqlite.org/faq.html (7) How do I list all tab...
  • lslxdx
  • lslxdx
  • 2011年11月06日 15:56
  • 2358

报表控件NCreport教程:子查询系统设计

数据报表中经常需要用到主从数据关系,比如发票、订单等一类的特殊文件,在报表控件NCreport中也不例外。数据报表至少有一个表头和一个通过主键和外键关联的相关细节数据集。子查询系统则是通过父数据源驱动...

asp.net MVC + linq to Entity简单教程(五)linq to Entity中join的使用以及子查询

多表联查,可以说是我们写sql语句时最常用的一种方法。一般采用,内联(join),左联(left join),右联( right join)的方式。这里不多说了,想必大家也都了解。这里我要说的一点是在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:懒人摘抄(内容转自CSDN资源中教程)-数据查询07-子查询
举报原因:
原因补充:

(最多只允许输入30个字)