MySQL查询实验报告_数据库数据库上的查询-实验报告

本次实验旨在掌握SQL Server查询分析器的使用,深入理解SQL和Transact-SQL查询语句。实验内容包括简单查询、连接查询、嵌套查询、分组查询、函数查询及组合查询。通过实际操作,例如查询数学系学生信息、选修课程详情、嵌套查询特定条件等,以提升数据库查询能力。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif数据库数据库上的查询-实验报告

应用数学学院 学院 信息安全 专业 班____组、学号 姓名 协作者 教师评定 实验题目 数据库的查询 一、实验目的与要求 实验目的: 掌握SQL Server查询分析器的使用方法,加深对SQL 和Transact-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法;嵌套查询语句;熟练掌握数据查询中的分组、统计、组合的操作方法。 实验要求: 1、简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等; 2、连接查询操作; 3、嵌套查询。在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作; 4、分组查询实验。包括分组条件表达、选择组条件的表达方法; 5、使用函数查询。包括统计函数和分组统计函数的使用方法; 6、组合查询实验。 二、实验方案 将查询需求用Transact-SQL语言表示;在SQL Server查询分析器的输入区中输入Transact-SQL查询语句;设置查询分析器的结果区为标准执行或网格执行方式;发布执行命令,并在结果区中查看结果。 三、实验结果和数据处理 首先,我创建了两个数据库,以供实验的完成。具体如下: 1、学生课程库 (1)表结构 (2)表信息 (3)关系图 2、图书借阅表 (1)表结构 (2)表信息 (3)关系图 实验步骤: 1、简单查询: (l)用Transact-SQL语句表示下列操作。在学生选课库中实现其数据查询操作。 ①求数学系学生的学号和姓名。 SELECT 学号,姓名 FROM 学生 WHERE 所在系= 数学系 ; ②求选修了课程的学生学号。 SELECT DISTINCT 学号 FROM 选课; ③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 SELECT 学号,成绩 FROM 选课 WHERE 课程号= C1 ORDER BY 成绩 DESC,学号 ASC; ④获选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。 SELECT 学号,成绩*0.8 FROM 选课 WHERE 课程号= C1 AND 成绩 BETWEEN 80 AND 90; ⑤求数学系或计算机系姓张的学生的信息。 SELECT * FROM 学生 WHERE 所在系 IN ( 数学系 , 计算机系 ) AND 姓名 LIKE 张% ; ⑥求缺少了成绩的学生的学号和课程号。 SELECT 学号,课程号 FROM 选课 WHERE 成绩 IS NULL; (2)在图书借阅库中实现其查询操作:将计算机类的书存入永久的计算机图书表中,将借书日期在1999年以前的借阅记录存入临时的超期借阅表。 SELECT * INTO 计算机图书 FROM 图书 WHERE 类别= 计算机 GO SELECT * INTO #超期借阅 FROM 借阅 WHERE 借阅日期90; ④查询每一门课的间接先行课(即先行课的先行课)。 SELECT A.课程号,A.课程名,B.先行课 FROM 课程 A,课程 B WHERE A.先行课=B.课程号 3、嵌套查询: 用Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。 (1)求选修了高等数学的学生学号和姓名。 SELECT 学号,姓名 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 课程号 IN (SELECT 课程号 FROM 课程 WHERE 课程名= 高等数学 )); (2)求C1课程的成绩高于张立的学生学号和成绩。 SELECT 学号,成绩 FROM 选课 WHERE 课程号= C1 AND 成绩>(SELECT 成绩 FROM 选课 WHERE 课程号= C1 AND 学号=(SELECT 学号 FROM 学生 WHERE 姓名= 张立 )); (3)求其他系中年龄小于计算机系年龄最大者的学生。 SELECT * FROM 学生 WHERE 年龄 < ANY (SELECT 年龄 FROM 学生 WHERE 所在系= 计算机系 ) AND 所在系 计算机系 ; (4)求其他系中比计算机系学生年龄都小的学生。 SELECT * FROM 学生 WHERE 年龄 < ALL (SELECT 年龄 FROM 学生 WHERE 所在系= 计算机系 ) AND 所在系 计算机系 ; (5)求选修了C1课程的学生姓名。 SELECT 姓名 FROM 学生 WHERE EXISTS (SELECT * FROM 选课 WHERE 学生.学号=学号 AND 课程号= C1 ); (6)求没有选修C1课程的学生姓名。 SELECT 姓名 FROM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值