educoder 数据库原理与应用 实验四 子查询 |
您所在的位置:网站首页 › 数据库原理与应用实验四 › educoder 数据库原理与应用 实验四 子查询 |
实验四 子查询
数据结构说明第1关:子查询一第2关:子查询二第3关:子查询三第4关:带子查询的增删改
数据结构说明
表结构如下: 学生表:Student 字段名类型主码备注Snochar(10)Y学号Snamevarchar(20)姓名Ssexchar(2)性别Sagesmallint年龄Sdeptvarchar(20)所在系课程表:Course 字段名类型主码备注Cnochar(10)Y课程号Cnamevarchar(20)课程名Cpnochar(10)先行课号Ccreditsmallint课程学分学生选课表:SC 字段名类型主码备注Snochar(10)Y学号Cnochar(10)Y课程号Gradesmallint成绩 第1关:子查询一任务描述 本关任务:子查询练习 相关知识 使用SQL语言中的 Select 语句。 使用子查询完成查询练习 SQL语句中关键词大小写不区分。考虑到本系统的测评规则,在题目中要求对列名小写的,请务必按要求书写,否则会评判为错误! 性别用’m’表示男,’f’表示女 实验完成要求 根据代码区的提示,将查询数据的SQL语句书写在对应的代码区中。 注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致 1、查询CS系学生选择的课程,列出学号,课程号,成绩 2、查询没有选C06(课程号)课程的同学的学号,姓名,性别 3、查询成绩最高的选课信息,列出学号,课程号和成绩。 测试说明 书写查询语句后,直接测试。 sql语句 sql1: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“1、查询CS系学生选择的课程,列出学号,课程号,成绩”的SQL语句 ********** -- select sno,cno,grade from Sc where Sno in(select Sno from Student where Sdept ='CS'); -- ********** End ********** -- GOsql2: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“2、查询没有选C06(课程号)课程的同学的学号,姓名,性别”的SQL语句 ********** -- select sno,sname,ssex from Student where Sno not in(select Sno from Sc where Cno='C06'); -- ********** End ********** -- GOsql3: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“3、查询成绩最高的选课信息,列出学号,课程号和成绩”的SQL语句 ********** -- select sno,cno,grade from SC where grade in( select max(Grade) from SC); -- ********** End ********** -- GO 第2关:子查询二任务描述 本关任务:子查询练习 相关知识 使用SQL语言中的 Select 语句。 使用子查询完成查询练习 SQL语句中关键词大小写不区分。考虑到本系统的测评规则,在题目中要求对列名小写的,请务必按要求书写,否则会评判为错误! 性别用’m’表示男,’f’表示女 实验完成要求 根据代码区的提示,将查询数据的SQL语句书写在对应的代码区中。 注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致 1、查询CS系没有选择’DB’课程学生的姓名,列出学生姓名。 2、查询‘DB’课程考最高分的选课信息。列出学号,课程号,成绩 测试说明 书写查询语句后,直接测试。 sql语句 sql1: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“1、查询CS系没有选择'DB'课程学生的姓名,列出学生姓名”的SQL语句 ********** -- select sname from Student where sdept='CS' and Sno not in(select Sno from Sc where Cno in(select Cno from Course where Cname='DB')); -- ********** End ********** -- GOsql2: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“2、查询'DB'课程考最高分的选课信息。列出学号,课程号,成绩”的SQL语句 ********** -- select sno,cno,grade from SC where grade in (select max(grade) from SC where cno in(select cno from Course where Cname='DB'))and cno in (select cno from Course where Cname='DB'); -- ********** End ********** -- GO 第3关:子查询三任务描述 本关任务:子查询练习 相关知识 使用SQL语言中的 Select 语句。 使用子查询完成查询练习 SQL语句中关键词大小写不区分。考虑到本系统的测评规则,在题目中要求对列名小写的,请务必按要求书写,否则会评判为错误! 性别用’m’表示男,’f’表示女 实验完成要求 根据代码区的提示,将查询数据的SQL语句书写在对应的代码区中。 注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致 1、查询选修了先行课为’DB’的课程的学生,列出学生学号,姓名,性别,所在系。 测试说明 书写查询语句后,直接测试。 sql语句 USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“1、查询选修了先行课为'DB'的课程的学生,列出学生学号,姓名,性别,所在系”的SQL语句 ********** -- select sno,sname,ssex,sdept from Student where Sno in (select Sno from SC where Cno in (select Cno from Course where Cpno in (select Cno from Course where Cname ='DB' ))); -- ********** End ********** -- GO 第4关:带子查询的增删改任务描述 本关任务:带子查询的插入,修改和删除操作 相关知识 使用SQL语言中的 Insert,Update,Delete 语句。 使用子查询完成插入,修改,删除练习 SQL语句中关键字大小写不区分。 性别用’m’表示男,’f’表示女 实验完成要求 根据代码区的提示,将SQL语句书写在对应的代码区中。 1、将’DB’课程不及格的成绩加5分。 2、删除’English’(课程名)课程CS系学生的选课记录。 3、为CS系添加必修课’c02’。(即:为CS系没有选c02课程的学生选c02课程) 测试说明 书写查询语句后,直接测试。 sql语句 sql1: USE CS_yx_DB GO SET NOCOUNT ON -- ********** Begin ********** -- -- ********** 此处写“1、将'DB'课程不及格的成绩加5分”的SQL语句 ********** -- update Sc set grade=grade+5 where grade |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |