- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验SQL应用
实 验 三、四 SQL语言应用
实验目的:
熟练掌握基本表的定义、删除与修改,为后继学习作准备。
实验属性(验证性)
1、了解并掌握SQL查询分析器及企业管理器的使用;
2、掌握基本表的定义、删除与修改。
三、实验步骤:
A、单表查询
1 无条件查询
例2.1 查询全体学生的详细记录。
例2.2 查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
例2.3 查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
例2.4 查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
例2.5 查询选修了课程的学生学号。
2 条件查询
例2.6 查询数学系全体学生的学号(Sno)和姓名 (Sname)。
例2.8 查询年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
例2.9 查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。
验证一下
例2.10 查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。
例2.11 查询既不是信息系、数学系、也不是计算机系的学生的姓名(Sname)和性别(Ssex)。
验证一下
例2.12 查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。
例2.13 查询姓“刘”且全名为4个汉字的学生的姓名(Sname)和所在系(Sdept)。
例2.14 查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。
例2.15 查询课程名为“DB_设计”的课程号(Cno)和学分(Credit)。
例2.16 查询以DB_开头,且倒数第2个汉字字符为“设”的课程的详细情况。
例2.17 假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。
例2.18 查询所有有成绩的学生学号(Sno)和课程号(Cno)。其命令为:
select sno,cno
from turing.sc
where grade is not null;
3 查询结果排序
例2.19 查询选修了0811003号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。
例2.20 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。
4 集函数的使用
例2.21 查询学生总人数。
例2.22 查询选修了课程的学生人数。
例2.23 计算选修0811001号课程的学生平均成绩。
例2.24 查询选修0811001号课程的学生最高分数。
5 查询结果分组
例2.25 求各个课程号(Cno)及相应的选课人数。
例2.26 查询选修了3门或3门以上课程的学生学号(Sno)。
B、连接查询
1 不同表之间的连接查询
例 2.27 查询每个学生及其选修课程的情况。
Select student.sno,sname,ssex,sage,sdept,course.cno,cname,
cpno,ccredit,grade
from turing.student,turing.course,turing.sc
where student.sno=sc.sno
and course.cno=sc.cno;
例2.28 查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。
select student.sno,sname,cname,grade
from turing.student,turing.course,turing.sc
where student.sno=sc.sno
and course.cno=sc.cno;
2 自身连接
例2.29 查`询每一门课的间接先修课(即先修课的先修课)。
3 外连接
例2.30把例3.37中的等值连接改为左连接。
C、嵌套查询
1 带谓词IN的嵌套查询
例2.31 查询选修了编号为“0811002”的课程的学生姓名(Sname)和所在系(Sdept)。
例2.32 查询与“程亮”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。
例2.33 查询选修了课程名为“数据结构”的学生学号(Sno)和姓名(Sname)。
2 带有比较运算符的嵌套查询
例2.34 将例3.42改为带有比较运算符的嵌套查询。
3 带谓词ANY或ALL的嵌套查询
例
文档评论(0)