下载此文档

第5章 查询(5)-子查询.ppt


文档分类:IT计算机 | 页数:约32页 举报非法文档有奖
1/32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/32 下载此文档
文档列表 文档介绍
第5章数据查询
——子查询
子查询
子查询是一个嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。子查询的结果用来作为另一个查询的参数。
子查询称为内部查询或内部选择,包含子查询的语句称为外部查询或外部选择。
例:查询选修了C2课程的学生姓名。
SELECT SNAME
FROM STUDENT
WHERE SNO IN (SELECT SNO
FROM S_C
O='C2')
SELECT SNAME
FROM STUDENT,S_C
WHERE =
AND O='C2'

★子查询包括以下组件:
包含选择列表组件的常规SELECT子句。
包含一个或多个表名称的常规FROM子句。
可选的WHERE 、GROUP BY、HAVING子句。
注:只有指定了top时才能使用order by 子句,
不能包含into子句。
★子查询所在位置:
子查询可以嵌套在外部SELECT语句的SELECT、WHERE或HAVING子句内,也可以嵌套在其他子查询内。
【例】从TEACHER表中查询所有教师的教工号、姓名、所在系、课程号以及在STUDENT1表中修了这门课程的学生的人数。
SELECT TNO,TNAME,O,
(SELECT COUNT(*) FROM STUDENT1
O=O)
AS S_NUM
FROM TEACHER

1. 用比较运算符引入的子查询。
3. 用IN和NOT IN引入的子查询。
2. 用ANY 、SOME或 ALL修改的比较运算符引入的子查询。
4. 用EXISTS或 NOT EXISTS引入的子查询。
子查询引入方式:

IN的子查询:
该子查询结果是包含零个值或多个值。
【例】。
O
FROM STUDENT1
WHERE MARK=
结果:12
AME
FROM COURSE1
O
= '12'
IN(
)
【例】从STUDENT1表中查询同时修过了1号和10号课程的学生的学号、姓名、所在系信息。
SELECT SNO,SNAME,DNAME
FROM STUDENT1
O='1'
AND SNO IN
(SELECT SNO
FROM STUDENT1
O= '10')
【练习1】从STUDENT1表中查询存在不及格课程的学生的姓名、所在系、所有的课程号及成绩信息。
【练习2】从STUDENT1表中查询修过了1号但没有修10号课程的学生的学号、姓名、所在系信息。
SELECT SNO,SNAME,DNAME
FROM STUDENT1
O='1'
AND SNO NOT IN (SELECT SNO
FROM STUDENT1
O='10')
SELECT SNAME,O,MARK
FROM STUDENT1
WHERE SNO IN (SELECT SNO
FROM STUDENT1
WHERE MARK<60)

第5章 查询(5)-子查询 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数32
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花开一叶
  • 文件大小1.93 MB
  • 时间2018-10-13
最近更新