下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1实验四表的查询操作(4学时)【实验目的】了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识。【实验要求】掌握利用Select语句进行各种查询操作:单表查询、多表连接及查询、嵌套查询、集合查询等。【实验内容】在实验三创建并插入数据的表(Student,Course,SC,Teacher,TC)的基础上,完成以下操作。1.对实验步骤中所给示例进行验证。2.参考所给示例,完成下列各种查询操作。(1)将教师‘罗莉’的名字改为‘罗莉莉’。(2)将两个同学(数据自己临时设置,用后即删除)的两门课程的成绩以运行sql程序文件的形式插入score表中。该题用以验证、理解和掌握关系模型的完整性规则;(3)求每门课的平均成绩,并把结果存入average表(自行设计并创建);(4)将学生“马丽”的出生日期改为“1982.8.20”(5)将所有学生的zipcode属性列值填补上;(6)将average表中的所有课程的平均成绩置零;(7)删除average表中的课程号为‘c007’的平均成绩记录;(8)删除所有average表中平均成绩记录;(9)建立一个临时学生信息表(tstudent),删除该表中的学号含‘101’的所有学生记录。(10)查询全体学生的学号与姓名;(11)查询全体学生的学号、姓名、所属班级;(12)查询全体学生的详细记录;(13)查询全体学生的姓名及其年龄;(14)查询全体学生的姓名、出生年份;(15)查询所有修过课的学生的学号;(16)查询“计61”班全体学生名单;(17)查询查询所有年龄在23岁以下的学生姓名及其年龄;(18)查询考试成绩有不及格的学生的学号;(19)查询年龄在20至22岁之间的学生姓名、班级和年龄;(20)查询年龄不在20至22岁之间的学生姓名、班级和年龄;(21)查询“计11”和“计61”班的学生的姓名和班级信息;(22)查询既不是“计11”也不是“计61”班的学生的姓名和班级信息;(23)查询学号为“04262002”的学生的详细情况;(24)查询学号以“04262”打头的学生信息;(25)查询所有姓“张”学生的学号、姓名、性别、年龄;(26)查询名字中第二个字有“海”字的学生的学号、姓名、性别、年龄;(27)查询所有不姓“刘”学生的姓名;(28)查询课程号以“C”开头的最后两个字母为“05”(29)某些学生选修某门课程后没有参加考试,所以有选修课记录,但没有考试成绩,试查找缺少考试成绩的学生和相应的课程号;(30)查找全部有成绩记录的学生学号、课程号;(31)查找“计91”班年龄在22岁以下的学生学号、姓名;(32)查找选修了“C001”号课程的学生学号及其成绩,查询结果按分数降序排序;(33)查询全体学生情况,查询结果按所在班级升序排列,对同一班级中的学生按年龄降序排列;(34)查询学生总人数;(35)查询选修了课程的学生人数;(36)在所有课程中查询最高分的学生学号和成绩;(37)查询学习“C001”课程的学生最高分数;(38)计算各个课程号与相应的选课人数;(39)查询“计91”班选修了两门课程以上的学生学号、姓名;(40)自然连接student和score表;(41)使用自身连接查询每一门课程的间接先行课(即先行课的先行课)(42)使用复合条件连接查询选修“c001”号课程且成绩在90分以上的所有同学;(43)使用复合条件连接查询每个学生选修的课程名及其成绩;(44)查询选修了全部课程的学生;(45)查询至少选修课程C001的学生选修的全部课程的学号、姓名;(46)查询所有选修了C001号课程的学生学号、姓名;(47)查询选修了课程C001或c007的学生学号、姓名;(48)查询“计91”班的学生及年龄不大于23岁(现有年龄)的学生;(49)查询既选修了课程C001又选修了课程c007的所有学生学号、姓名;(50)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;(51)查询其他班中比“计91”班所有学生年龄都小的学生名单;(52)查询与“夏天”在同一个班学习的学生学号、姓名、性别、年龄;(53)建立“计91”班学生的视图;(54)建立“计911”班学生的视图,并要求进行修改与插入时,仍须保证该视图只有“计91”班学生;(55)建立“计91”班选修了“C001”课程的学生的视图,定义视图名为“v_info_C001_student1”(56)建立“计91”班选修了“C001”课程且成绩在90分以上的学生的视图,定义视图名为“info_c001_student2”(57)定义一个反映学生年龄的视图,定义视图名为“v_birth_student”;(58)将学生表中所有女生记录定义为一个视图,视图名为“v_female_student”;(59)将学生的学号及其平均成绩定义为一个视图,视图名为“v_average_student”;(60)删除表student后,重新建student表,再建视图“V_CS_student1”(61)在“计91”班学生视图中找出年龄小于22岁(现在的年龄)的学生;(62)利用视图查询“计91”班选修了“C001”课程的学生;(63)通过(53)中的“计91”班视图修改某个学生的名字;(64)通过(54)中的“计91”班视图,插入一个新学生记录。(65)通过(54)中的“计91”班视图,删除一个学生记录。3.自行设计不同情况的DML语句(不少于100条语句),并进行实验验证。【实验步骤】一、单表查询1.简单查询打开查询分析器,根建立teacher表,并加入数据。从teacher表中分别检索出教师的所有信息,以及仅查询教工号、姓名和职称。语句如下:select*fromteacherselecttno,tnamefromteacher如要查询时改变列标题的显示,则从teacher表中分别检索出教师教工号、姓名、电子邮箱信息并分别加上‘教师姓名’、‘教工号’、’电子邮箱’等标题信息。selecttno工号,tname姓名,temail电子邮箱fromteacher使用TOP关键字:分别从teacher中检索出前2条及前面67%的教师的信息。selecttop2*fromteacherselecttop67percent*fromteacher使用DISTINCT关键字:从teacher表中检索出教师的职称并且要求显示的职称不重复。selectdistincttpositionfromteacher2.用计算列:将teacher表中各教师的姓名、教工号及工资按95%发放的信息,第2条语句将工资按95%发放后列名该为‘预发工资’。语句如下:selecttnotname,tsalary*0.95fromteacherselecttno工号,tname姓名,tsalary*0.95AS预发工资fromteacher3.使用ORDERBY子句对查询的结果进行排序使用ORDERBY语句可以对查询的结果进行排序,ASC、DESC分别是升序和降序排列的关键字,系统默认的是升序排列。从teacher表中查询工资大于2800的教师的教工号、姓名,并按升序排列,语句如下:selecttno,tnamefromteacherWHEREtsalary>2800orderbytsalaryASC4.条件查询⑴使用关系运算符:从teacher表中查询出工作量大于288的教师资料,语句如下:select*fromteacherWHEREtamount>288orderbytamountDESC⑵使用BETWEENAND谓词:从teacher表中查询出工作量界于144和288之间的教师资料,语句如下:select*fromteacherWHEREtamountbetween144and288⑶使用IN谓词:从teacher表中查询出职称为“教授”或“副教授”的教师的教工号、教师姓名、职称及家庭住址,语句如下:selecttno,tname,tposition,taddressfromteacherWHEREtpositionin('教授','副教授')⑷使用LIKE谓词:从teacher表中分别检索出姓’王’的教师的资料,或者姓名的第2个字是’莉’或’轩’的教师的资料,语句如下:select*fromteacherWHEREtnamelike'王%'select*fromteacherWHEREtnamelike'_[莉,轩]%'
二、多表查询数据库各表中存放着不同的数据,用户经常需要用多个表中的数据来组合提炼出所需要的信息,如果一个查询需要对多个表进行操作,就称为关联查询,关联查询的结果集或结果表称为表之间的连接。关联查询实际上是通过各各表之间共同列的关联来查询数据的,它是关系数据库查询最基本的特征。1.SQL2000兼容2种连接形式:用于FROM子句的ANSI连接语法和用于WHERE子句的SQLSERVER连接语法形式。从student、course和SC三张表中检索学生的学号、姓名、学习课程号、学习课程名及课程成绩,语句如下:selectstudent.sno,sname,cno,gradefromstudentinnerjoinSConstudent.sno=SC.snoselectstudent.sname,sc.gradefromstudent,scWHEREstudent.sno=sc.snoselectstudent.sno,student.sname,o,ame,sc.gradefromstudent,sc,courseWHEREstudent.sno=sc.snoando=o2.使用UNION子句进行查询使用UNION子句可以将一个或者多个表的某些数据类型相同的列显示在同一列上。如从teacher表中列出教工号、姓名并从student表中列出学号及学生姓名,语句及查询结果如下:selectsnoAS学号或工号,snameAS姓名fromstudentunionselecttno,tnamefromteacher3.用GROUP子句进行查询 如果要在数据检索时对表中数据按照一定条件进行分组汇总或求平均值,就要在SELECT语句中与GROUPBY子句一起使用集合函数。使用GROUPBY子句进行数据检索可得到数据分类的汇总统计、平均值或其他统计信息。⑴使用不带HAVING的GROUPBY子句。使用不带HAVING的GROUPBY子句汇总出SC表中的学生的学号及总成绩,语句如下:select'学号'=sno,'总成绩'=SUM(Grade)fromSCgroupbySno⑵使用带HAVING的GROUPBY子句。使用带HAVING的GROUPBY子句汇总出SC表中总分大于450分的学生的学号及总成绩,语句如下:select'学号'=sno,'总成绩'=SUM(Grade)fromSCgroupbySnoHavingSUM(Grade)>1604.用COMPUTE和COMPUTEBY子句进行查询使用COMPUTE和COMPUTEBY既能浏览数据又能看到统计的结果。⑴用COMPUTE子句汇总出SC表中每个学生的学号及总成绩,语句如下:select'学号'=sno,'成绩'=GradefromSCorderbysnoCOMPUTESUM(Grade)⑵用COMPUTEBY子句按学号汇总出SC表中每个学生的学号及总成绩,语句如下:select'学号'=sno,'成绩'=GradefromSCORDERBYSnoCOMPUTESUM(Grade)bysno观察执行COMPUTE和COMPUTEBY子句的结果有什么不同?5.嵌套查询(1)使用IN或NOTIN关键字使用IN关键字查询出j10011班所有男生的学号、课程号及相应的成绩,语句如下:selectSC.sno,SC.cno,SC.gradeFROMSCWHEREsnoIN(SELECTsnoFROMstudentWHERESclass=’j10011’ANDSsex='男')使用IN关键字查询出与教师不同名的学生(学号,姓名),语句如下:selectsno学号,sname姓名fromstudentwheresnamenotin(selecttnamefromteacher)(2)使用EXISTS或NOTEXISTS关键字。使用EXISTS关键字查询出‘j10011’班的学生的学号、课程号及相应的成绩,语句如下:SELECTSC.sno
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州省六盘水市第四实验中学2026届中考物理最后一模试卷含解析
- 劳务作业人员工效调查表
- 福建省厦门市湖里中学2026届中考联考物理试卷含解析
- 室内装饰装修方案
- 副乳护理查房生物标志物
- 中医护理病历的实证研究
- 2026届陕西省滨河中考冲刺卷物理试题含解析
- 2026届浙江省温州市乐清市重点中学中考物理对点突破模拟试卷含解析
- 甘南市重点中学2026届中考试题猜想物理试卷含解析
- 崇左市2025年数学三下期末教学质量检测试题(含答案)
- 2026延长石油(集团)限责任公司社会招聘易考易错模拟试题(共500题)试卷后附参考答案
- 企业资金拨付管理方案
- 市场营销专业知识全套题库(含标准答案+详细解析)
- 2026年招标采购从业人员《招标采购专业实务(初级)》考试真题(附答案解析)
- 2026年中国电信数据发展中心招聘考试试题
- 第22课 活动课:中国传统节日的起源教学设计初中历史与社会部编版七年级下册-部编版
- 《油气管道地质灾害风险管理技术规范》SYT 6828-2024
- DB62-T 5205-2025 光伏电站运行与维护规范
- 临床护理病历书写中的常见错误分析
- 2023-2025年四川中考物理试题分类汇编:浮力(解析版)
- 眼部刮痧培训
评论
0/150
提交评论