




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验4 数据查询 一、 实验目的1. 掌握使用Transact-SQL的SELECT语句进行基本查询的方法。2. 掌握使用SELECT语句进行条件查询的方法。3. 掌握嵌套查询的方法。4. 掌握多表查询的方法。5. 掌握SELECT语句的GROUP BY
2、和ORDER BY子句的作业和使用方法。6. 掌握联合查询的操作方法。7. 掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、 实验准备1. 了解SELECT语句的基本语法格式和执行方法。2. 了解嵌套查询的表示方法。3. 了解UN
3、ION运算符的用法。4. 了解SELECT语句的GROUP BY和ORDER BY子句的作用。5. 了解IN、JOIN等子查询的格式。6. 了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、 实验内容及步骤0. 创建studentsdb数据库及其相应表,并录入数据。
4、 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1. 在studentsdb数据库中,使用下列SQL语句将输出什么?(1) SELECT COUNT(*) FROM grade(2) SELECT SUBSTRING(姓名,1,2) FROM student_info (3) &
5、#160; SELECT UPPER('kelly') (4) SELECT Replicate('kelly',3) (5) SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6) SELECT 2,3,POWER(2,3) (7)
6、0; SELECT YEAR(GETDATE(),MONTH(GETDATE(),DAY(GETDATE() 2. 在studentsdb数据库中使用SELECT语句进行基本查询。(1) 在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT * FROM student_info (2) 查询学号为0002的学生的姓名和家庭住址。 SE
7、LECT 姓名,家庭住址 FROM student_infoWHERE 学号=0002(3) 找出所有男同学的学号和姓名。 SELECT 学号,姓名 FROM student_infoWHERE 性别='男' 3. 使用SELECT语句进行条件查询(1) 在grade表中查找分数在8090分为内的学生的学号和分数。SELECT 学号,分数 FROM gradeWHERE 分数 BETWEE
8、N 80 AND 90 (2) 在grade表中查询课程编号为0003的学生的平均分。 SELECT AVG(分数) AS 平均分 FROM gradeWHERE 课程编号=0003 (3) 在grade表中查询学习各门课程的人数。SELECT 课程编号, COUNT(*) AS 人数FROM gradeGROUP BY 课程编号 (4) 将学生按出生日期由大到小排序。SELECT
9、 学号,姓名,出生日期 FROM student_infoORDER BY 出生日期 ASC(5) 查询所有姓“张”的学生的学号和姓名。 SELECT 学号,姓名 FROM student_info WHERE 姓名 LIKE '张%' 4. 嵌套查询(1) 在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。 SELECT 姓名,出生日
10、期FROM student_infoWHERE 性别= (SELECT 性别 FROM student_info WHERE 姓名='刘卫平') (2) 使用IN子查询查找所修课程编号为0002、0005的
11、学生学号、姓名、性别。 SELECT 学号,姓名,性别FROM student_infoWHERE student_info.学号 IN (SELECT 学号 FROM grade WHERE 课程编号 IN ('0002', '0005') (3)
12、160; 列出学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。 SELECT 课程编号,分数 FROM gradeWHERE 学号='0001' AND 分数>ANY (SELECT 分数 FROM gradeWHERE 学号='0002')(4) 列出学号为0001的学生的分数比0002的学生的最高成绩还要高的课程编号和分数。 SELECT 课程编号,分数FROM gradeWHERE 学号='0001' AND 分数>AL
13、L (SELECT 分数 FROM gradeWHERE 学号='0002')5. 多表查询(1) 查询分数在8090范围内的学生的学号、姓名、分数。 SELECT student_info.学号,姓名,分数FROM student_info,gradeWHERE student_info.学号=grade.学号 AND 分数 BETWEEN 80 AND 90(2) 查询学习
14、“C语言程序设计”课程的学生的学号、姓名、分数。SELECT student_info.学号,姓名,分数FROM student_info INNER JOIN grade ON student_info.学号=grade.学号INNER JOIN curriculum ON 课程名称='C语言程序设计'(3) 查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。select student_info.学号,姓名,课程编号,分数 from student_info left outer join
15、grade on student_info.学号=grade.学号 where 性别='男'(4) 查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程名称、分数。select grade.学号,student_info.姓名,grade.课程编号,grade.分数 from student_info left outer join grade on student_info.学号=grade.学号 where grade.分数>=(select MAX(分数) from grade b whe
16、re b.学号=grade.学号)(5) 查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。提示:使用左外连接。select grade.学号,姓名,sum(分数) from student_info left outer join grade on student_info.学号=grade.学号 group by grade.学号,姓名(6) 为grade表添加数据行:学号0004、课程编号为0006、成绩为76。查
17、询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。提示:使用右外连接。insert grade values('0004','0006','76')select grade.课程编号,课程名称,count(*) from grade right outer join curriculum on grade.课程编号=curriculum.课程编号 group by grade.课程编号,课程名称6. 使用UNION运算符将student_info
18、表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。select 学号 u_编号,姓名 u_名称 from student_info where 姓名 like '张%' union select 课程编号,课程名称 from curriculum图1-8 联合查询结果集 7. 数据更新(1) 创建totalgrade表,具有数据列:学号、姓名、总成绩。 CREATE TABLE totalgrade( 学号 char(4) NOT NULL, 姓名 varchar(8) NULL, 总成绩 decimal(5,2) NULL ) (2) 使用INSERT INTO语句通过student_info表更新totalgrade表的学号、姓名列数据。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育行业人才流失原因与吸引机制创新路径研究报告
- 2025年植物基因编辑技术在转基因植物抗病虫害育种中的应用成果鉴定报告
- 自卸吊车买卖合同协议书
- 泵车转卖合同协议书范本
- 防尘布工地销售合同范本
- 理疗店合伙协议合同范本
- 物业小区的广告合同协议
- 法院婚内财产协议书模板
- 竹制半成品采购合同范本
- 罗非鱼鱼苗订购合同范本
- 2025年施工员-土建方向-岗位技能(施工员)考试题库
- 河南省安阳市林州市2024-2025学年八年级下学期期末历史试卷 (含答案)
- 胸痛单元建设课件介绍
- 2025年广西中考语文试题卷(含答案)
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 湘少版小学全部英语单词
- 小学数学西南师大四年级下册八平均数小学数学西师版四年级下册《平均数》教学设计
- T-SDDA 0002-2021 住宅装饰装修工程质量验收标准
- 智慧机场贵宾厅建设方案
- CTPAT反恐文件1. 货物单据和文件记录安全控制程序
评论
0/150
提交评论