sql语句练习题及答案_第1页
sql语句练习题及答案_第2页
sql语句练习题及答案_第3页
sql语句练习题及答案_第4页
sql语句练习题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、- 在数据库 school 中建立 student , sc, course 表。学生表、课程表、选课表属于数据库School ,其各自的数据结构如下:学生 Stude nt (S no,S name,Ssex,Sage,Sdept)序号列名含义数据类型长度1Sno学号字符型(char)62Sn ame姓名字符型(varchar)83Ssex性别字符型(char)24Sage年龄整数(smallint)5sdept系科字符型(varchar)15课程表course(C no,Cn ame,Cp no ,Ccredit)序号列名含义数据类型长度1Cno】田千口 i=r. 课程号字符型(char)

2、42cn ame课程名字符型(varchar)203Cp no先修课字符型(char)44Ccredit学分短整数(tinyint)学生选课 SC(Sno,Cno,Grade)序号列名含义数据类型长度1Sno学号字符型(char)62Cno】田千口 i=r. 课程号字符型(char)43Grade成绩小数(decimal)12,2二设定主码1 Stude nt 表的主码:sno2 Course表的主码:eno3 Sc表的主码:sno, eno1写出使用 Create Table语句创建表student, se, course的SQL语句create table stude nt(s nocha

3、r(6),sn amevarchar(8),ssexchar(2),sagesmalli nt,sdeptvarchar(15),primary key(s no);Create table course(Cno char(4) primary key,Cn ame varchar(20),Cpno char(4),Ccredit tinyint ) create table sc(s nochar(6),cnochar(4),gradedecimal(12,2),primary key(s no,cno); c2在student表中插入信息学号姓名性别年龄系科4001赵茵男20SX4002杨

4、华女21JSJinsert into studentvalues(4001, 赵茵 , 男 ,20, SX )insert into studentvalues(4002, 杨华 , 女 ,21, JXJ )Delete1 删除所有 JSJ 系的男生delete from Student where Sdept= JSJ and Ssex= 男 ;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=数据库原理 );Update1 修改 0001 学生的系科为 : JSJUpdate s

5、tudent set sdept= JSJ where sno= 00012 把陈小明的年龄加 1 岁,性别改为女。Update student set age=age+1,ssex=女 where sname= 陈小明Select 查询语句一 单表1 查询年龄在 19 至 21 岁之间的女生的学号 , 姓名 , 年龄 , 按年龄从大到小排列。select sno, sname, sagefrom studentwhere ssex= 女 and sage between 19 and 21order by sage desc;2 查询姓名中第 2 个字为“明”字的学生学号、性别。select

6、 sno, ssexfrom studentwhere sname like明% 3 查询 1001 课程没有成绩的学生学号、课程号select sno, cnofrom scwhere grade is null and cno=10014查询 JSJ 、 SX、 WL 系的年龄大于 25 岁的学生学号 ,姓名,结果按系排列 select sno, snamefrom studentwhere sdept in ( JSJ, SX, WL) and sage25group by sdept;5 查询 student 表中的学生共分布在那几个系中。 ( distinct ) select di

7、stinct sdept from student ;6 查询 0001 号学生 1001, 1002 课程的成绩。select gradefrom scwhere sno= 0001 and (cno= 1001 or cno= 1002 ) ;统计1 查询姓名中有“明”字的学生人数。select count(*) from student where sname like%明% 2计算JSJ系的平均年龄及最大年龄。select avg(sage),max(sage) from student where sdept=JSJ3 计算每一门课的总分、平均分,最高分、最低分,按平均分 由高到低排

8、列select cno,sum(grade),avg(grade),max(grade),min(grade) from scgroup by cnoorder by avg(grade) desc ;4 计算 1001,1002 课程的平均分。select cno, avg(grade) from sc where cno in(1001, 1002 )group by cno ;5 查询平均分大于 80 分的学生学号及平均分select ,avg(grade) from scgroup byhaving avg(grade)80 ;6 统计选修课程超过 2 门的学生学号select sno

9、 from sc group by sno having count(*)2 ;7 统计有 10 位成绩大于 85 分以上的课程号。select cno from sc where grade85 group by cno having count(*)=10 ;8 统计平均分不及格的学生学号select sno from sc group by sno having avg(grade)60 ;9 统计有大于两门课不及格的学生学号select sno from sc where grade2 ;三 嵌套、相关及其他1 查询平均分不及格的学生人数select count(*) from student where sno in( select sno from sc group by sno havingavg(grade)60)1002)2 查询没有选修 1002 课程的学生的学生姓名select sname from student where sno not in(

温馨提示

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

评论

0/150

提交评论