找回密码
 注册

QQ登录

只需一步,快速开始

查看: 742|回复: 0

大工21春《sql数据库系统及应用》复习资料八

[复制链接]
发表于 2021-2-20 09:40:30 | 显示全部楼层 |阅读模式
SQL数据库系统及应用辅导资料八主    题:第四章  数据的查询(三)
学习时间:2020年5月18日--5月24日“不忘初心、牢记使命”主题理论学习:
“一带一路”是促进共同发展、实现共同繁荣的合作共赢之路,是增进理解信任、加强全方位交流的和平友谊之路。中国政府倡议,秉持和平合作、开放包容、互学互鉴、互利共赢的理念,全方位推进务实合作,打造政治互信、经济融合、文化包容的利益共同体、命运共同体和责任共同体。
摘选自《推动共建丝绸之路经济带和21世纪海上丝绸之路的愿景与行动》内    容:第四章  数据的查询
这周我们将继续学习课件第四章(子查询-不相关子查询,子查询-相关子查询)。本节的学习要求及需要掌握的重点内容如下:
1. 了解什么是子查询
2. 掌握使用子查询进行数据查询的思路
3. 了解什么是不相关子查询及相关子查询
4. 掌握编写相关子查询的方法引入:示例:数据表如下图所示
/
思考以下查询要求: 查询选修了2号课程的学生的姓名?
查询给定学号范围内的学生姓名
select sname from student where sno in (1,2,4,5)
查询选修了2号课程的学生学号
select sno from electCourse where cno=2
将二者合二为一:
/
子查询-不相关子查询
1、子查询的概念
基本含义:
一个SELECT语句称为一个查询块
将一个查询块嵌套在另一个查询块中的查询称为子查询
2、简单的子查询
查询系名为’铁掌帮’的学生的详情
/
查询所有被选修的课程名,不允许出现重复
/
查询选修2门以上课程的学生学号及姓名
/
查询选修‘轻功’课程的学生学号及姓名
/
带有ANY或ALL谓词的子查询 ANY:任意一个值 ALL:所有值
   <表达式> <比较运算符> <ANY|ALL> <子查询>
/
查询年龄比“古墓派”所有人都大的学生姓名
/
查询年龄比“古墓派”所有人都大的学生姓名
/
子查询-相关子查询
1、不相关子查询与相关子查询
不相关子查询处理方式:
由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
相关子查询处理方式:
首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表;
然后再取外层表的下一个元组;
重复这一过程,直至外层表全部检查完为止。2、相关子查询
相关子查询——EXISTS
-带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。
-若内层查询结果非空,则返回真值
-若内层查询结果为空,则返回假值
-由EXISTS引出的子查询,其目标列表达式通常都用* ,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义。
示例:查询选修‘轻功’课程的学生学号及姓名
//
查询所在系中没有男同学,并且未选修除’轻功’之外的课程的学生学号、姓名、所在系,使用exists实现。
SELECT sno,sname,dname FROM student s1,depart   
WHERE s1.dno=depart.dno
AND NOT EXISTS( SELECT * FROM student s2
                 WHERE s2.dno=s1.dno AND s2.sgender='男')
AND NOT EXISTS( SELECT * FROM electCourse,course
                       WHERE electCourse.cno=course.cno
                                   AND cname!='轻功'
                                        AND electCourse.sno=s1.sno);重要考点
名词解释:
1. 查询块:一个SELECT语句称为一个查询块。
2. 子查询:将一个查询块嵌套在另一个查询块中的查询称为子查询。单选题:
1.T-SQL语言的语句中,核心的语句是()。   
A.查询语句
B.插入语句
C.删除语句
D.创建视图语句
答案:A   
分析:通过查询可以从表或视图中迅速、方便的检索数据。简答题:
已知有如下student表:
StudID
Name
DeptID
Minzu

1
张三
12
汉族      

2
李赛
12
汉族      

3
王明
13
蒙古族   

4
李密
12
汉族      

5
刘凤
15
满族      

写出查询student表中非12系的学生信息的语句。
写出查询student表中的所有信息的语句。
答案:
(1)SELECT * FROM student WHERE NOT (DeptID = '12')
(2)SELECT * FROM student
南开答案可以联系QQ 761296021

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-3 19:07

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表