




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用数据库原理与应用 课程实验报告课程实验报告 实验四实验四 查询设计实验查询设计实验 所在院所在院 系系 班级 班级 学号 学号 姓名 姓名 1 1 实验目的实验目的 1 了解查询的目的 掌握 SELECT 语句的基本语法和查询条件的表示方法 2 掌握数据排序和数据联接查询的方法 3 掌握 SQL Server 查询分析器的使用方法 2 2 实验要求实验要求 1 针对 TM 数据库 在 SQL Server 查询分析器中 用 T SQL 语句实现以下单表查询 操作 并将将调试成功的 T SQL 命令 填入实验报告中 a 查询所有课程的详细情况 b 查询来自江苏或山东的学生学号和姓名 并以中文名称显示输出的列名 c 查询选修了课程的学生学号 一人选了多门课程的话 学号只显示一次 d 查询选修课程号为 07253001 的学号和成绩 并要求对查询结果按成绩 降序排列 如果成绩相同则按学号升序排列 e 查询所有学生的学号 姓名和年龄 f 查询选修课程号为 07253001 的成绩在 85 95 之间的学生学号和成绩 并将成绩乘以 0 7 输出 g 查询数学与信息技术学院 DEPT ID 为 07 或物理与电子工程学院 DEPT ID 为 09 姓张的学生的信息 h 查询所有核心课程 课程名中带 的 的情况 i 查询缺少了成绩的学生的学号和课程号 查询结果按课程号升序排列 2 在 SQL Server 查询分析器中 用 T SQL 语句实现下列数据联接查询操作 a 查询每个学生的情况以及他 她 所选修的课程 b 查询学生的学号 姓名 选修的课程名及成绩 c 查询选修 C 语言程序设计且成绩为 85 分以上的学生学号 姓名及成绩 d 查询和学生柏文楠是同一个民族的学生 用自身联接实现 e 分别用等值联接和内联接查询有授课记录的老师的姓名 f 用外联接查询所有老师的授课情况 输出老师的工号 姓名 职称 院 系 担任的课程号和授课的学期 结果按院系和职称升序排列 如果该 老师没有授课历史 在课程号和授课的学期中显示空值 3 在 SQL Server Management Studio 中新建查询 完成以上查询命令的同时 熟悉 SQL 编辑器工具栏中各快捷按钮的作用 4 按要求完成实验报告 3 实验步骤 结果和总结实验步骤实验步骤 结果和总结实验步骤 结果结果 将调试成功的 T SQL 语句写在下方 标明题号 1 1 针对针对 TM TM 数据库 在数据库 在 SQLSQL ServerServer 查询分析器中 用查询分析器中 用 T SQLT SQL 语句实现以下语句实现以下 单表查询操作 并将将调试成功的单表查询操作 并将将调试成功的 T SQLT SQL 命令 填入实验报告中 命令 填入实验报告中 a 查询所有课程的详细情况 select from Course 表表 1 a1 a b 查询来自江苏或山东的学生学号和姓名 并以中文名称显示输出的列名 SELECT S ID as 学号 S Name as 姓名FROM STUDENT WHERE Birth Place 江苏 or Birth Place 山东 表表 1 b1 b c 查询选修了课程的学生学号 一人选了多门课程的话 学号只显示一次 select distinct S ID from sc 表表 1 c1 c d 查询选修课程号为 07253001 的学号和成绩 并要求对查询结果按成绩降序 排列 如果成绩相同则按学号升序排列 select S ID EXAM Grade from sc where C ID 07253001 order by EXAM Grade desc S ID asc 表表1 d1 d e 查询所有学生的学号 姓名和年龄 SELECT S ID S NAME year getdate year Date of Birth as 年龄 FROM Student 表表 1 e1 e f 查询选修课程号为 07253001 的成绩在 85 95 之间的学生学号和成绩 并将 成绩乘以 0 7 输出 Select S ID EXAM Grade 0 7 as grade from SC where C ID 07253001 and EXAM Grade between 85 and 95 表表 1 f1 f g 查询数学与信息技术学院 DEPT ID 为 07 或物理与电子工程学院 DEPT ID 为 09 姓张的学生的信息 select from Student where DEPT ID in 07 09 and S Name like 张 表表 1 g1 g h 查询所有核心课程 课程名中带 的 的情况 SELECT FROM Course WHERE C Name like 表表 1 h1 h i 查询缺少了成绩的学生的学号和课程号 查询结果按课程号升序排列 select S ID C ID from SC where EXAM Grade IS NULL order by C ID 表表 1 i1 i 2 2 在在 SQLSQL ServerServer 查询分析器中 用查询分析器中 用 T SQLT SQL 语句实现下列数据联接查询操作 语句实现下列数据联接查询操作 a 查询每个学生的情况以及他 她 所选修的课程 Select Student S ID S Name Gender Birth Place DEPT ID Class ID Course C name from Student join SC on Student S ID SC S ID join Course on Course C ID SC C ID 表表 2 a2 a b 查询学生的学号 姓名 选修的课程名及成绩 select Student S ID S Name C Name EXAM Grade from Student inner join SC on Student S ID SC S ID inner join Course on SC C ID Course C ID 表表 2 b2 b c 查询选修 C 语言程序设计且成绩为 85 分以上的学生学号 姓名及成绩 Select Student S ID S NAME EXAM Grade from Student SC Course where Student S ID SC S ID and Course C ID SC C ID and C Name C语言程序设 计 and EXAM Grade 85 表表 2 c2 c d 查询和学生柏文楠是同一个民族的学生 用自身联接实现 SELECT S Name from Student where Nationality select Nationality from Student where S Name 柏文楠 表表 2 d2 d e 分别用等值联接和内联接查询有授课记录的老师的姓名 等值联接 select DISTINCT T Name from Teacher inner join TC on Teacher T ID TC T ID 内联接 select DISTINCT T Name from Teacher TC where Teacher T ID TC T ID 表表 2 e2 e f 用外联接查询所有老师的授课情况 输出老师的工号 姓名 职称 院系 担任的课程号和授课的学期 结果按院系和职称升序排列 如果该老师没有授 课历史 在课程号和授课的学期中显示空值 select Teacher T ID Teacher T Name Teacher Academic Title Department DEPT Name TC C ID TC Semester from Teacher Right join TC on Teacher T ID TC T ID join Department ON Department DEPT ID Teacher DEPT ID order by Department DEPT Name Teacher Academic Title 表表 2 f2 f 4 实验思考 联接查询中 输出列名时何时可以忽略列名前的表名 何时不能 联接查询中 输出列名时何时可以忽略列名前的表名 何时不能 完整写法完整写法 表名 列名 若选择的字段名在各个表中是唯一的 则可以省略字段名前的 表名 联接查询中 联接查询中 INNER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN 的结果各有什么不同 的结果各有什么不同 INNER JOIN Inner join 产生的结果集中 是 A 和 B 的交集 SELECT FROM TableA INNERINNER JOINJOIN TableB ON TableA name TableB name LEFT OUTER JOIN 1 Left outer join 产生表 A 的完全集 而 B 表中匹配的则有值 没有匹配的则以 null 值取代 SELECT FROM TableA LEFTLEFT OUTEROUTER JOINJOIN TableB ON TableA name TableB name 2 产生在 A 表中有而在 B 表中没有的集合 SELECT FROM TableA LEFTLEFT OUTEROUTER JOINJOIN TableB ON TableA name TableB name WHEREWHERE TableB idTableB id ISIS nullnull RIGHT OUTER JOIN RIGHT OUTER JOIN 是后面的表为基础 与 LEFT OUTER JOIN 用法类似 FULL OUTER JOIN 1 Full outer join 产生 A 和 B 的并集 但是需要注意的是 对于没有匹配的记录 则会以 null 做为值 可以使用 IFNULL 判断 SELECT FROM TableA FULLFULL OUTEROUTER JOINJOIN TableB ON TableA name TableB name 2 产生 A 表和 B 表没有交集的数据集 SELECT FROM TableA FULLFULL OUTEROUTER JOINJOIN TableB ON TableA name TableB name WHEREWHERE TableA idTableA id ISIS nullnull OROR TableB idTableB id ISIS nullnull LIKE 匹配字符有几种 如果要检索的字符中包含匹配字符 该如何处理 匹配字符有几种 如果要检索的字符中包含匹配字符 该如何处理 LIKELIKE 通配符及实例通配符及实例 通配符通配符 说明说明实例实例 表示包含零个或多个字符的任意字 符串 where title like computer 将查找在书名中任意位置包含单词 computer 的所有书名 下划线 表示任何单个字符 where au fname like ean 将 查找以 ea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025项目汕尾职业技术学院科研项目任务书合同书
- 2025北京华商电力产业发展有限公司高校毕业生招聘(第三批)模拟试卷及答案详解(夺冠系列)
- 2025湖南郴州市嘉禾县事业单位第一批公开招聘引进高层次人才和急需紧缺人才13人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025员工合同范本模板
- 2025年人工费合同5篇
- 安全监测考试题库及答案
- 中医白疕考试题库及答案
- 评审专家考试题库及答案
- 餐饮组长考试题库及答案
- 不签合同被辞退怎么赔偿5篇
- 银行安全用电知识培训课件
- 2025鄂尔多斯市国源矿业开发有限责任公司社会招聘75人笔试参考题库附带答案详解
- 2025年解除租赁合同协议书
- 工业废水零排放技术解决方案创新创业项目商业计划书
- 黄冈市2025年高三年级9月调研考试(一模)生物试卷(含答案)
- 人工搬运培训课件
- 2025年哈尔滨投资集团有限责任公司校园招聘笔试备考题库含答案详解(精练)
- DB4406∕T 47-2024 养老机构安全风险管理规范
- 城乡垃圾压缩站建设施工组织设计方案
- 安徽省合肥市六校联考2025-2026年高三上学期开学考试语文试卷(含答案)
- 医院住院综合大楼项目监理大纲
评论
0/150
提交评论