找回密码
 注册

QQ登录

只需一步,快速开始

查看: 776|回复: 0

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

[复制链接]
发表于 2021-2-20 09:28:49 | 显示全部楼层 |阅读模式
SQL数据库系统及应用辅导资料九主    题:第四章  数据的查询(四)
学习时间:2020年5月25日--5月31日“不忘初心、牢记使命”主题理论学习:
“我们既要绿水青山,也要金山银山。宁要绿水青山,不要金山银山,而且绿水青山就是金山银山。”要按照绿色发展理念,树立大局观、长远观、整体观,坚持保护优先,坚持节约资源和保护环境的基本国策,把生态文明建设融入经济建设、政治建设、文化建设、社会建设各方面和全过程,建设美丽中国,努力开创社会主义生态文明新时代。
摘选自《习近平总书记系列重要讲话读本》内    容:第四章  数据的查询
这周我们将继续学习课件第四章(子查询-子查询的应用)。本节的学习要求及需要掌握的重点内容如下:
1. 掌握灵活应用子查询的方法子查询-子查询的应用
1、子查询的应用
子查询可以应用在:SELECT、FROM、WHERE、HAVING、ORDER BY、DML(INSERT,UPDATE,DELETE)、集合查询
需要掌握的核心原则:
只要是能放置集合(数据表)的位置都可以使用子查询
在确定所使用子查询只返回一个值(一行一列)的情况下,绝大部分能够放置表达式的地方都能使用子查询(GROUP BY子句除外)
示例:数据表如下图
SELECT中的子查询
(1)查询每个学生的姓名,所在系的人数及自身的平均成绩
select sname,
          (select count(*) from student as s1
           where s1.dno=student.dno),
          (select avg(mark) from electCourse
where electCourse.sno=student.sno)  from studentFROM中的子查询
(2)查询每个学生的姓名,所在系的人数
select sname, cnt from student,
        (select dno, count(*) as cnt   from student) as dcnt
where student.dno=dcnt.dnoORDER BY中的子查询
(3)查询每个学生的姓名, 按照所在系的人数升序显示,同一系的按照学号降序显示
select sname  from student
order by  (select count(*) from student
as s2 where s2.dno=student.dno ) , sno descinsert中的子查询
-假设存在结构与student相同的另一个表stu2
(4)向stu2表中插入‘铁掌帮’的学生
Insert into stu2  select * from student
where dno=(select dno from depart where dname=‘铁掌帮’)(5)查询属于‘明教’的或年龄不小于35岁的学生的姓名。
select sname from student  
where dno=(select dno from depart          where dname=‘明教’)
UNION select sname from student where sage>=35(6)查询属于‘明教’的或年龄不小于35岁的学生的姓名,不去除重复的姓名。
select sname from student  
        where dno=(select dno from depart         where dname=‘明教’)
UNION ALL select sname from student where sage>=35(7) 查询属于‘明教’的且年龄不小于35岁的学生的姓名 。
select sname from student
where dno=(select dno from depart         where dname=‘明教’)
INTERSECT select sname from student where sage>=35(8) 查询属于‘明教’的但年龄小于35岁的学生的姓名 。
select sname from student
where dno=(select dno from depart         where dname=‘明教’)
EXCEPT select sname from student where sage>=35
重要考点
简答题:
1.有家企业要用表t1来存储客户的信息。客户的信息包括:代号(int,主键),名称(char(20)),电话(char(20)),传真(char(20)),备注(nvarchar(1000))。
请写出创建该表的T-SQL语句。
答案:
Create  table  t1
(代号 int  primary key ,
名称   char(20),
电话  char(20),
传真  char(20),
备注   nvarchar(1000)
)单选题
1.SQL查询语句中HAVING子句的作用是(     )。
A.指出排序的范围
B.指出查询结果的最大值
C.指出分组查询的条件
D.指出创建数据表的字段
答案:C
分析:HAVING子句允许与GROUP BY 子句同时使用,作用是限定分组的条件2.下面有关HAVING子句描述错误的是(     )。
A.HAVING子句允许与GROUP BY 子句同时使用
B.使用HAVING子句的同时不能使用WHERE子句
C.使用HAVING子句的同时可以使用WHERE子句
D.使用HAVING子句的作用是限定分组的条件
答案.B  
分析:同上题,考察having子句的用法。Where短语是select语句中的核心词汇,指出数据表的范围,不可缺少。南开答案可以联系QQ 761296021

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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