数据库题库语句题_第1页
数据库题库语句题_第2页
数据库题库语句题_第3页
数据库题库语句题_第4页
数据库题库语句题_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二语句题1设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询选修了“数据库”课程的学生人数的 SQL 语句select count(*) from SC join Course on Co = SC.cno where Cname=数据库2设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 统计每门课程的选课人数,包括没有人选的课程,列出课程号、选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过 100 人, 则显示“人多” ;如果此门课程的选课人数在 40100,则显示“一般” ;如果此门课程的选课人数在 140,则显示“人少” ;如果此门课程没有人选, 则显示“无人选” 。select o,count(o) 选课人数 , case when count(o) 100 then 人多 when count(o) between 40 and 100 then 一般 when count(o) between 1 and 40 then 人少 else 无人选 end 选课情况 from course c left join sc on o = o group by o3设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,请按如下模式写出创建满足如下要求的视图的 SQL 语句。 统计选课人数最多的前三门课程(包括并列的情况)的课程名和开课学期。 create view v5(课程名,开课学期) ascreate view v5(课程名,开课学期) as select cname,semester from course where cno in (select top 3 with ties cno from sc group by cno order by count(*) desc)4设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询计算机系哪些学生没有选课,列出学生姓名。 (请用外连接实现)select sname from student s left join sc on s.sno = sc.snowhere sdept = 计算机系 and sc.sno is null5设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 删除“VB”考试成绩最低的学生的 VB 修课记录。delete from sc where sno in ( select top 1 with ties sno from sc join course c on o = o where cname = VB order by grade asc )and cno in (select cno from coursewhere cname = VB)6设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询计算机系年龄最大的三个学生的姓名和年龄(包括并列情况)select top 3 with ties sname,sage from student where sdept = 计算机系 order by sage desc7设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询成绩小于 60 的学生姓名、课程名及成绩的 SQL 语句。select Sname,Cname,Grade from Student join SC on Student.Sno = SC.Sno join Course on Course.Cno = SC.Cno where Grade ( select avg(grade) from sc join course c on o = o where cname = VB)11设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询选课人数在 3 人以上课程的平均成绩的 SQL 语句。select Cno,avg(Grade) from Course group by cno having count(*)=312设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询选修 C002 课程的学生的姓名和所在系。select sname,sdept from student s join sc on s.sno = sc.sno where cno = C00213设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 在 Course 表中插入一行新数据,课程号为 C100,课程名为 Java,开课学期未定,学分为3。insert into course values(C100,Java,3,null)14设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 在 Student 表中插入一行新数据,学号为 S100,姓名:新生,性别:男,年龄:19,所在系未定。insert into Student values(S100,新生,男,19,null)15设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 将 C001 课程的考试成绩增加 10 分。update sc set grade = grade + 10 where cno = C00116设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,用 SQL 语句完成以下操作。 统计每个系 VB 课程的考试情况,列出系名和考试情况,其中考试情况为: 如果 VB 平均成绩大于等于 90,则考试情况为“好” ; 如果 VB 平均成绩在 8089 分,则考试情况为“良好” ; 如果 VB 平均成绩在 7079 分,则考试情况为“一般” ; 如果 VB 平均成绩低于 70 分,则考试情况为“较差” 。select sdept,考试情况 = case when avg(grade) = 90 then 好 when avg(grade) between 80 and 89 then 良好 when avg(grade) between 70 and 79 then 一般 when avg(grade) = 6 then 多 when count(o) between 3 and 5 then 一般 when count(o) between 1 and 2 then 偏少 else 未选 end from student s left join sc on s.sno = sc.sno group by s.sno18设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 统计每个学生的选课门数,并按选课门数的递增顺序显示结果。select sno,count(*) 选课门数 from SC group by sno order by count(*) asc19设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,用 SQL 语句完成以下操作。 修改全部课程的学分,修改规则如下: 如果是第 12 学期开设的课程,则学分增加 5 分; 如果是第 34 学期开设的课程,则学分增加 3 分; 如果是第 56 学期开设的课程,则学分增加 1 分; 其他学期开设的课程学分不变。update course set credit = credit + case when semester in (1,2) then 5 when semester in (3,4) then 3 when semester in (5,6) then 1 else 0 end20设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询学号为“2012001001”学生的考试成绩的 SQL 语句,结果按成绩降序排列,列出学号、姓名、课程名和成绩select Student.Sno,Sname,Cname,Grade from Student join SC on Student.Sno = SC.Sno join Course on Co = SC.cno where Sno = 2012001001 order by Grade desc21设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询计算机系考试成绩最高的学生的姓名(包括并列情况) 。 (请用子查询实现)select sname from student where sno in( select top 1 with ties sno from sc join student s on s.sno = sc.sno where sdept = 计算机系 order by grade desc)22设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 用 SQL 语句完成以下操作。 查询计算机系每个学生的 VB 考试情况,列出学号、姓名、VB 成绩和成绩情况,其中成绩情况的显示规则为: 如果成绩大于等于 90,则成绩情况为“好” ; 如果成绩在 8089,则成绩情况为“较好” ; 如果成绩在 7079,则成绩情况为“一般” ; 如果成绩在 6069,则成绩情况为“较差” ; 如果成绩小于 60,则成绩情况为“差” 。select s.sno,sname,grade,成绩情况 = case when grade = 90 then 好 when grade between 80 and 89 then 较好 when grade between 70 and 79 then 一般 when grade between 60 and 69 then 较差 when grade 80 )28设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询年龄最大的男生的姓名和年龄。 (请用子查询实现)select sname,sage from student where sage in( select max(sage) from student where ssex = 男) and ssex = 男29已知一个数据表的结构如下,表名为“Product” 。 列名 数据类型 长度 备注 描述 ProductID char 12 主键 商品编号 ProductName var char 50 商品名称 ProductPrice float 商品价格 ProductMemo Varchar 50 由于供应商对商品的批发价格进行调整,现需对现行商品价格进行调整,规则如下:原价格小于 10 元上调 8%,原价格大于 30 元上调 6%,其它上调 7%,请编写一段 SQL 脚本完成上述功能。UPDATE Product SET ProductPrice = CASE WHEN ProductPrice 30 THEN ProductPrice*1.06 ELSE ProductPrice*1.07 END30设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询计算机系全体女生的详细信息的 SQL 语句。select * from student where sdept = 计算机系 and ssex = 女31设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询 C001 课程的考试成绩高于该课程平均成绩的学生的学号和 C001 课成绩。 (请用子查询实现)select sno,grade from sc where cno = c001 and grade ( select avg(grade) from sc where cno = c001)32设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,请按如下模式写出创建满足如下要求的视图的 SQL 语句。 统计考试平均成绩最高的前三名学生(包括并列的情况)的姓名和所在系。 create view v7(姓名,所在系) ascreate view v7(姓名,所在系) as select sname,sdept from student where sno in ( select top 3 with ties sno from sc group by sno order by avg(grade) desc )33设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 统计每个系的学生人数。列出系和系学生人数。select sdept,count(*) 学生人数 from student group by sdept34设“图书”表的结构为:Books(Bid,BName,Price),分别代表书号、书名和价格 写出实现下列查询要求的 SQL 语句。 查询所有书籍信息,列出:书号、书名、价格和等级。其中“等级”根据价格决定:对价格小于等于 20 元的等级显示为“很便宜” , 对价格小于等于 50 元且大于 20 元的等级显示为“中等” ,对价格大于 50 元等级显示为:“很贵” 。Select 书号,书名,价格,case when Price20 then 中等 else 很贵 end as 等级 from Books35设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,用 SQL 语句完成以下操作。 修改高等数学的考试成绩,修改规则如下:如果是计算机系学生,则加 10 分;如果是信息管理系学生则加 5 分;如果是数学系学生则分数不变。update sc set grade = grade + case sdept when 计算机系 then 10 when 信息管理系 then 5 when 数学系 then 0 end from sc join student s on s.sno = sc.sno join course c on o = o where cname = 高等数学36设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 删除没人选的课程。 (请用子查询实现)delete from course where cno not in ( select cno from sc)37设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,写出创建满足如下要求的视图的 SQL 语句。 查询学生的学号、姓名、所在系、课程号、课程名、课程学分。视图名为 v1create view v1 as select s.sno,sname,sdept,o,cname,credit from student s join sc on s.sno = sc.sno join course c on o = o38设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 写出将下列信息插入到学生表中的 SQL 语句 学号:2012001001,姓名:王五,性别:男;年龄:20,所在系未定insert into Student values(2012001001,王五,男,20,NULL)39设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 写出查询每门课的选课人数的 SQL 语句,列出课号及选课人数(包括没有人选的课程) 。select Course.Cno,count(SC.Cno) from Course left join SC on Course.Cno = SC.Cno group by Course.Cno40设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 查询成绩 80 分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。select sname,cno,grade from student s join sc on s.sno = sc.sno where grade 80 order by grade desc41已知“图书 “表结构如下: 条码码(char(5),主键), 书名(varchar(50), 状态(char(1) ,取值为 1、2、3,分别表示:可借、不可借、已借。 写出创建满足如下要求的视图(v_book):查询书名中包含“数据库”的图书,显示:条形码、书名和状态,要求状态用对应的中文含义显示。create view vw_book as select 条码号,书名,case when 状态=1 then 可借 when 状态=2 then 不可借 when 状态=3 then 已借 end case 状态 from 图书 where 书名 like %数据库%42设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 针对以上各表,请按如下模式写出创建满足如下要求的视图的 SQL 语句。 统计每个学生的选课门数,要求列出学生学号和选课门数。 create view v2(学号,选课门数) ascreate view v2(学号,选课门数) as select sno,count(*) from sc group by sno43设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 统计每门课程的选课人数(不包括没人选的课程) ,列出课程号和选课人数。select cno,count(*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论