下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、sql练习题及答案【篇一:sql习题集及答案】问题描述: 为管理岗位业务培训信息,建立3个表:s (s#,sn,sd,sa)s#,sn,sd,sa分别代表学号、学员姓名、所属单位、 学员年龄c (c#,cn ) c#,cn分别代表课程编号、课程名称sc ( s#,c#,g ) s#,c#,g分别代表学号、所选修的课程编号、学习成 绩要求实现如下5个处理:1 .使用标准sql嵌套语句查询选修课程名称为,税收基础,的学员学号和姓名2 .使用标准sql嵌套语句查询选修课程编号为,cZ的学员姓名和所属单位3 .使用标准sql嵌套语句查询不选修课程编号为15的学员姓名和所属单位4 .使用标准sql嵌套语
2、句查询选修全部课程的学员姓名和所属单位5 .查询选修了课程的学员人数6 .查询选修课程超过5门的学员学号和所属单位 1 o使用标准sql嵌套语句查询选修课程名称为,税收基础,的学员学 号和姓名 实现代码:select sn,sd from swhere s柯 in(select from c,sc where c.c<q=sc.c<q and cn=n税收基而 2o使用标准sql嵌套语句查询选修课程编号为(,的学员姓名和所属单位实现代码:select s.sn,s.sd from s,scwhere s.s<q=sc.s<qand sc.ciq=c2select s.s
3、n,s.sd from s,scwhere s.siq=sc.s#and sc.c<q=c23o使用标准sql嵌套语句查询不选修课程编号为,cS的学员姓名和所属单位实现代码:select sn,sd from s where s# not in( select s# from sc where c<q=c5) 4o使用标准sql嵌套语句查询选修全部课程的学员姓名和所属单位实现代码:select sn,sd from swhere s# in(select siq from scright join c on sc.c#=c.c<qgroup by s#having count
4、(*)=count(distinct s#)5。查询选修了课程的学员人数实现代码:select 学员人数=count(distinct s粉)from sc 60查询选修课程超过5门的学员学号和所属单位实现代码:select sn,sd from swhere s粉 in(select s# from scgroup by s#having count(distinct c#)5)本题用到下面三个关系表:(1)card借书卡。cn。卡号,name姓名,class班级 (2)books 图书。bno 书号,bname 书名,author 作者,price 单 价,quantity库存册数(3)b
5、orrow借书记录。cn。借书卡号,bn。书号,rdate还书日期备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。要求实现如下15个处理:1.写出建立borrow表的sql语句,要求定义主码完整性约束和引用完整性约束。2 .找出借常超M 2次的读者,输出借书卡号及所借图书次数。3 .查询借阅了 eclipse入门一书的读者,输出姓名及班级。4 .查询过期未还图书,输出借阅者(卡号)、书号及还书日期。5 .查询书名包括网络关键词的图书,输出书号、书名、作者。7.6 .查询现有图书中价格最高的图书,输出书名及作者。查询当前借了计算方法但没有借计算方法习题集的读者,输出 其借书卡号,并按
6、卡号降序排序输出。8 .将C01班同学所借图书的还期都延长一周。9 .从books表中删除当前无人借阅的图书记录。10 .如果经常按书名查询图书信息,请建立合适的索引。11 .在borrow表上建立一个触发器,完成如下功能:如果读者借 阅的书名是数据库技术及应用,就将该读者的借阅记录保存在 borrow_save 表中(注 orrow_save 表结构同 borrow 表)。12 .建务一个视图,显示力0不班学生的借书信息(只要求显示姓名和书名)。13 .查询当前同时借有计算方法和组合数学两本书的读者,输出其借书卡号,并按卡号升序排序输出。14 .假定在建books表时没有定义主码,写出为bo
7、oks表追加定义主码的语句。15 .对card表做如下修改:a.将name最大列宽增加到10个字符(假定原为6个字符)。b.为该表增加1列name (系名),可变长,最大20个字符。 【J建表cardcreate table card(cno char(3),name varchar(20),classvarchar(20)insert into card select 001,方健,三年二班go_insert into card select 002,李勇,三年一班 union allselect 003,张雪,三年三班union allselect 004,赵云,三年三班union all
8、 select 005,李树鹏,三年四班 union all select 006,李会文,三年四班 select * from card他I建表bookscreate table books(bno char(4),bname varchar(30),author varchar(20),price int,quantity int)insert into books select 0001,java 编程思想,小 java,88,200 union allselect 0002,C+编程思想,小 c,68,300 union allselect 0003,sqlserver 概论,小 s,
9、50,220 union allselect 0004,eclipse 入门,小 e,40,160union allselect 0005,cobol 入门到精通,小 cobol,30,200select * from books建表 borrow- 1.写出建立borrow表的sql语句,要求定义主码完整性约束和引用完整性约束。create table borrow(eno int foreign key references card(cno), bno int foreign key references card(cno), rdate datetime,primary key(cno
10、,bno)insert into borrow select 001,0002,2006/12/10 insert into borrow select 003,0005,2006/11/30 insert into borrow select 003,0004,2006/11/20 insert into borrow select 004,0003,2006/12/20 insert into borrow select 001,0003,2006/11/10 insert into borrow select 004,0002,2006/12/20 insert into borrow
11、select 004,0004,2006/12/20 insert into borrow select 003,0001,2006/12/11 insert into borrow select 002,0001,2006/12/15 select * from borrow- 显示三个被创建的表 select * from cardselect * from books select * from borrow- 2.找出借书超过2次的读者,输出借书卡号及所借图书次数。select ,num as 借书次数 from (select cno,count(bno) num fro
12、m borrow groupby eno having count(bno)2) r,card c where o=o- 3.查询借阅了 eclipse入门一书的读者,输出姓名及班级。 select name,class from card where eno in(select o from books b,borrow br where b.bno=br.bno and b.bname=eclipse 入门)-网上实现代码:select * from card cwhere exists(select * from borrow a,books b where a.bno=b.bno an
13、d4.b.bname=neclipse 入门 and o=o)查询过期未还图书,输出借阅者(卡号)、书号及还书日期。select * from borrow where rdategetdate()- 5.查询书名包括思想关键词的图书,输出书号、书名、作者。select bno,bname,author from books where bname like n% 网 络- 6.查询现有图书中价格最高的图书,输出书名及作者。select bname,author from books where price = (select max(price) from books)查询当前借了 ecli
14、pse入门但没有借java编程思想的读者,输出其借书卡号,并按卡号降序排序输出。select eno from borrow where bno=(select bno from bookswhere bname=eclipse AH)and eno not in (select eno from borrow where bno=(select bno from bookswhere bname=java 编程思想)order by eno descorselect * from borrow br1 where bno in (select bno from bookswhere bnam
15、e=eclipse All)and not exists (select * from borrow br2 where o=o and bno in(select bno from books where bname=java 编程思想)order by eno desc一网上实现代码:select * from borrow br1,books b1 where br1.bno=b1.bno and b1.bname=neclipse 入门and not exists(select * from borrow br2,books b2 where o=o andbr2.bno=b2.bno
16、 and b2.bname=njava 编程思想)order by o desc- 8.将三年三班同学所借图书的还期都延长一周。update borrow set rdate=dateadd(wk, 1,rdate) where eno in (select eno from card where class二三年三班)-网上实现代码:update b set rdate=dateadd(dayy7,b.rdate) from card a,borrow b where o=o【篇二:sql练习题+答案】>student(学生表):其中约束如下:(1)(2)(3)(4)学号不能存在相同的
17、名字为非空性别的值只能是,男,或女 系包括这几个:信息系,计算机科学系,数学系,管理系,中文 系,外语系,法学系(5)(6)出生日期为日期格式年龄为数值型,且在。100之间cs(成绩表):其中约束如下:(1) sno和eno分别参照student和course表中的sno,cno的 字段(2) cj(成绩)只能在。100之间,可以不输入值course (课迫表)其约束如下:(1)课程号(cn。)不能有重复的(2)课程名(cname)非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。(3)查询全体学生的详细记录。(4)查全
18、体学生的姓名及其出生年份。(5)查询学校中有哪些系。(6)查询选修了课程的学生学号。(7)查询所有年龄在20岁以下的学生姓名及其年龄。(8)查询年龄在2023岁(包括20岁和23岁)之间的学生的姓名、 系别和年龄。(9)查询年龄不在2023岁之间的学生姓名、系别和年龄。(10)查询信息系、数学系和计算机科学系生的姓名和性别。(11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。(12)查询所有姓刘学生的姓名、学号和性别。(13)查询学号为2009011的学生的详细情况。(具体的学号值根据 表中数据确定)(14)查询姓“欧阳”且全名为三个汉字的学生姓名 (15)查询名字中第2个
19、字为“晨”字的学生的姓名和学号(16)查询所有不姓刘的学生姓名。(17)查询sql课程的课程号和学分。(18)查询以db_开头,且倒数第3个字符为i的课程的详细情况。【篇三:sql语句练习及答案】数据库有如下四个表格:student(sno,sname,sage,ssext sdpt)学生表 系表(dptno,dname)course(cno,cname, gradet, tno)课程表sc(sno,eno,score)成绩表teacher(tno,tname)教师表要求:完成以下操作1 .查询姓欧阳且全名为三个汉字的学生的姓名。select sname from student where
20、sname like "欧阳_?;2 .查询名字中第2个字为阳字的学生的姓名和学号。select sname, sno from student where sname like_PH%;3 .查询所有不姓刘的学生姓名。一select sname, sno, ssexfrom studentwhere sname not like "刘”;4 .查询db.design课程的课程号和学分。select eno, ccredit from course where cname like db_design5 .查询以db_开头,且倒数第3个字符为i的课程的详细情况。select
21、 * from course where cname like db%i;6 .某些学生选修课程后没有参加考试,所以有痫记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。select sno,eno from sc where grade is null;7 .查所有有成绩的学生学号和课程号。select sno, eno from sc where grade is not null;8 .查询计算机系年龄在20岁以下的学生姓名。select sname from student where sdept= cs and sage20;9 .查询选修了 3号课程的学生的学号及其成绩
22、,查询结果按分数降序排列。select sno,grade from sc where cno= 3 order by grade desc;10 .查询学生总人数。select count(*) from student;11 .查询选修了课程的学生人数。select count(distinct sno) from sc;12 .计算1号课程的学生平均成绩。select avg(grade) from sc where cno= 1 ;13 .查询选修1号课程的学生最高分数。select max(grade) from sc where cno= 1 ;14 .查询学生200215012选
23、修课程的总学分数。select sum(grade) from sc,coursewhere sno= 200215012 and o=o;15 .查询选修了 3门以上课程的学生学号。select sno from sc group by sno having count(*) 3;16 .查询每个学生及其选修课程的情况。select student.*, sc.*, course.* from student, sc , coursewhere student.sno=sc.sno and o=o;17 .查询每个学生及其选修课程的情况包括没有选修课程的学生18 .查询选修2号课程且成绩在9
24、0分以上的所有学生的学号、姓名 select student.sno, student.snamefrom student,scwhere student.sno=sc.sno and o=,2?and sc.grade90;19 .查询每个学生的学号、姓名、选修的课程名及成绩。select student.sno, sname, ssex, sage, sdept, eno, grade from student left outjoin sco on(student.sno=sc.sno);20 .查询与“刘晨,在同一个系学习的学生。selectsno, sname, sdept from student where sdept in(select sdept from student where sname="刘晨?);21 .查询选修了课程名为“信息系统”的学生学号和姓名 select sno, sname from student where sno in(select sno from sc where en
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《接触网施工》课件 4.8.1 交叉线岔安装
- 员工风采暨 员工表彰大会(奋斗激情青春拼搏)
- 《掌握2024:〈条据〉公开课新变化》
- 文书模板-广播站退站申请书
- 视频编辑职业技能提升:2024年edius培训精粹
- 2024年巴西经济增长前景预测
- 面向2024:《口耳目》教学策略新变化
- 2024年《敕勒歌》教案设计展望
- 2024年LPCVD技术在3C产业的应用培训
- 国庆安全主题班会
- T-CCSAS014-2022《化工企业承包商安全管理指南》
- 电梯安全总监和安全员的任命文件
- SL-T+62-2020水工建筑物水泥灌浆施工技术规范
- 2024年安徽省普通高中学业水平选择性考试 历史试卷
- 电子商务师职业技能等级证书培训方案
- JBT 14615-2024 内燃机 活塞运动组件 清洁度限值及测定方法(正式版)
- DL5009.2-2013电力建设安全工作规程第2部分:电力线路
- GA/T 2097-2023执法办案管理场所信息应用技术要求
- GB 20052-2024电力变压器能效限定值及能效等级
- 手术切口感染PDCA案例
- 依托国家中小学智慧教育平台开展有效教学的研究课题申报评审书
评论
0/150
提交评论