版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一在数据库school中建立student,sc,course表。学生表、课程表、选课表属于数据库school,其各自的数据结构如下:学生student(sno,sname,ssex,sage,sdept)课程表course(eno,cname,epno,ccredit)学生选课sc(sno,eno,grade)二设定主码student表的主码:sno2course表的主码:eno3sc表的主码:sno,eno写出访用createtable语句创建表student,sc,course的sql语句23删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate类型datetimedelete1.删除全部jsj系的男生deletefromstudentwheresdept='jsj'andssex='男';2删除“数据库原理”的课的选课纪录deletefromscwhereenoin(selectenofromcoursewherecname='数据库原理');update1.修改0001学生的系科为:jsj2.把陈小明的年龄加1岁,性别改为女。2修改李文庆的1001课程的成果为93分3把“数据库原理”课的成果减去1分select查询语句一单表1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。2查询姓名中第2个字为“明”字的学生学号、性别。3查询1001课程没有成果的学生学号、课程号4查询jsj、sx、wl系的年龄大于25岁的学生学号,姓名,结果按系排列5按10分制查询学生的sno,eno,10分制成果(1-10分为1,11-20分为2,30-39分为3,。。。90T00为10)6查询student表中的学生共分布在那几个系中。(distinct)7查询0001号学生1001,1002课程的成果。二统计1查询姓名中有“明”字的学生人数。2计算'jsj,系的平均年龄与最大年龄。3查询学生中姓名为张明、赵英的人数币种1代码C⑵、币种2代码C⑵、买入价n(8,4)、卖出价n(8,4)外汇汇率.dbf币种1c(4)、币种2c(4)、买入价n(8,4)、卖出价n(8,4)外汇代码.dbf外汇名称c(10),外汇代码c(10)要求:将全部“外汇汇率”表中的数据插入rate表中并且依次不变,由于“外汇汇率”中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应当存放外币代码,所以插入时要做相应的改动,外币名称与外向代码的对应关系存储在“外汇代码”表中。selecta.外币代码as币种1代码,b.外币代码as币种2代码,;买入价,卖出价from外汇代码a,外汇汇率,外汇代码b;wherea.外币名称二外汇汇率.币种1andb.外币名称二外汇汇率.币种2intotablerate4、假定有“雇员”表(雇员号c(2),雇员姓名c(6),经理号c(2)),依据雇员关系列出上一级经理与其所领导的职员清单。(教案中的例题)select领导,s.雇员姓名,雇员,e.雇员姓名from雇员s,雇员ewheres.雇员号二e.经理(三)超连接1、列出选修1号课的学生姓名与成果。方法一:(运用简洁连接查询格式)select姓名,成果from学生,选课where学生.学号二选课.学号and课号二1方法二:(运用内部连接格式)select姓名,成果from学生innerjoin选课on学生.学号二选课.学号where课号二1方法三:内部连接的inner短语可以省略。(与方法二等价)select姓名,成果from学生join选课on学生.学号二选课.学号where课号二12、查询订货管理数据库中数据的仓库号、城市、供应商名和地址信息。方法一:运用简洁连接格式。select仓库.仓库号,城市,供应商名,地址from供应商,订购单,职工,仓库;where供应商.供应商号二订购单.供应商号and订购单.职工号二职工.职工号;and职工.仓库号二仓库.仓库号方法二:运用超连接的内部连接格式。(留意连接条件的依次)select仓库.仓库号,城市,供应商名,地址from供应商join订购单join职工join仓库;on职工.仓库号二仓库.仓库号on订购单.职工号工职工.职工号on供应商.供应商号二订购单.供应商号3、查询没有选修任何课程的学生姓名。方法一:运用嵌套查询select姓名from学生where学号notin(select学号from选课)方法二:运用超连接的右连接。select姓名from选课rightjoin学生on选课.学号二学生.学号where选课.学号<>学生.学号方法三:运用超连接的左连接。(留意表名依次和方法二的不同)select姓名from学生leftjoin选课on选课.学号二学生.学号where选课.学号<>学生.学号三、嵌套查询(一)一般嵌套与谓词exists1、列出选修汇编语言课的学生的学号。方法一:select学号from选课where课号二(select课号from课程where课名二汇编语言)方法二:运用谓词exists。留意和方法一格式上的不同。select学号from选课whereexist(select*from课程;where课名工汇编语言and选课.课号二课程.课号)2、求软件专业全部必修课的课程信息。方法一:select*from课程where课号in;(select课号from必修课where必修专业二软件)方法二:select*from课程whereexist(select*from必修课where必修专业二软件;and课程.课号二必修课.课号)(二)量词any、some>all1、求选修2号课的学生中,成果比选修1号课的最低成果要高的学生的学号和成果。方法一:select学号,成果from选课where课号二2and成果>;(selectmin(成果)from选课where课号二1)方法二:any等价于some,所以可将any换成some。select学号,成果from选课where课号二2and成果>any;(select成果from选课where课号=1)2、求选修2号课的学生中,成果比选修1号课的任何学生的成果都要高的那些学生的学号和成果。4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列5计算1001,1002课程的平均分。6查询平均分大于80分的学生学号与平均分7统计选修课程超过2门的学生学号8统计有10位成果大于85分以上的课程号。9统计平均分不与格的学生学号10统计有大于两门课不与格的学生学号三连接1查询jsj系的学生选修的课程号2查询选修1002课程的学生的学生姓名(不用嵌套与嵌套2种方法)3查询数据库原理不与格的学生学号与成果4查询选修“数据库原理”课且成果80以上的学生姓名(不用嵌套与嵌套2种方法)5查询平均分不与格的学生的学号,姓名,平均分。6查询女学生平均分高于75分的学生姓名。7查询男学生学号、姓名、课程号、成果。(一门课程也没有选修的男学生也要列出,不能四嵌套、相关与其他.查询平均分不与格的学生人数.查询没有选修1002课程的学生的学生姓名.查询平均分最高的学生学号与平均分(2种方法top,any,all)*4查询没有选修1001,1002课程的学生姓名。5查询1002课程第一名的学生学号(2种方法)6查询平均分前三名的学生学号7查询jsj系的学生与年龄不大于19岁的学生的差集8查询1001号课程大于90分的学生学号、姓名与平均分大于85分的学生学号、姓名9查询每门课程成果都高于该门课程平均分的学生学号10查询大于本系科平均年龄的学生姓名答案参考答案1.createtablestudent(snochar(6),snamevarchar(8),ssexchar(2),sagesmallint,sdeptvarchar(15),primarykey(sno));createtablesc(snochar(6),enochar(4),gradedecimal(12,2),primarykey(sno,eno));insertintostudentvalues("4001'J赵茵','男'20,'sx')deletefromstudentdroptablestudentaltertablestudentaddsbirthdatedatetime.selectsno,sname,sagefromstudentwheressex='女'andsagebetween19and21orderbysagedesc;selectsno,ssexfromstudentwheresnamelike'—明%’;3selectsno,cnofromscwheregradeisnullandcno='1001';4selectsno,snamefromstudentwheresdeptin('jsj','sx','wl')andsage>25groupbysdept;selectsno,eno,grade/10.0+1aslevelfromsc;selectdistinctsdeptfromstudent;selectgradefromscwheresno='0001'and(eno='1001'oreno='1002');selectcount(*)fromstudentwheresnamelike'%明%’ ;selectavg(sage),max(sage)fromstudentwheresdept=,jsj';selecteno,sum(grade),avg(grade),max(grade),min(grade)fromscgroupbyenoorderbyavg(grade)desc;selecteno,avg(grade)fromscwhereenoin(T001',‘1002')groupbyeno;selectsc.sno,avg(grade)fromsegroupbysc.snohavingavg(grade)>80;selectsnofromscgroupbysnohavingcount(*)>2;selectenofromscwheregrade>85groupbyenohavingcount(*)=10;selectsnofromscgroupbysnohavingavg(grade)<60;selectsnofromscwheregrade<60groupbysnohavingcount(*)>2;selectenofromstudent,scwherestudent.sno=sc.snoandsdept='jsj';a:selectsnamefromstudent,scwherestudent.sno=sc.snoandeno='1002’b:selectsnamefromstudentwheresnoin(selectsnofromscwhereeno='1002')selectsno,gradefromsc,coursewheresco=courseoandcname='数据库原理'andgrade<60a:selectsnamefromstudent,sc,coursewherestudent.sno=sc.snoandsco=courseoandgrade>80andcname='数据库原理'b:selectsnamefromstudentwheresnoin(selectsnofromscwheregrade>80andenoin(selectenofromcoursewherecname=,数据库原理,))selectsno,sname,avg(grade)fromsc,studentwherestudent.sno=sc.snogroupbystudent,snohavingavg(grade)<60a:selectsnamefromstudentwheressex='女'andsnoin(selectsnofromscgroupbysnohavingavg(grade)>75)b:selectsnamefromsc,studentwherestudent.sno=sc.snoandssex='女'groupbystudent,snohavingavg(grade)>75selectstudent,sno,sname,eno,gradefromstudentleftjoinsconstudent.sno=sc.snoandssex='男'selectcount(*)fromstudentwheresnoin(selectsnofromscgroupbysnohavingavg(grade)<60)selectsnamefromstudentwheresnonotin(selectsnofromscwhereeno='1002')student0001aax0002bb0003ccxsc00011001000110020002100100031002selectsnamefromstudentwherenotexists(select*fromscwhereeno='1002'andsc.sno=student。sno)a:selecttop1sno,avg(grade)fromscgroupbysnoorderbyavg(grade)descb:selectsno,avg(grade)fromscgroupbysnohavingavg(grade)=(selecttop1avg(grade)fromsegroupbysnoorderbyavg(grade)desc)c:selectsno,avg(grade)fromscgroupbysnohavingavg(grade)>=al1(selectavg(grade)fromscgroupbysno)selectsnamefromstudentwherenotexists(select*fromcoursewhereenoin('1001’,‘1002')andnotexists(select*fromscwheresno=student,snoandcno=courseo))a:selecttop1snofromsceno='1002'orderbygradedescb:selectsnofromscwhereeno='1002'andgrade>=all(篇二:sql语句强化练习题与答案sql语句强化练习题与答案一、简洁查询1、列出全部学生的信息。select*from学生2、列出软件专业全部学生的学号与姓名。select学号,姓名from学生where专业二软件3、列出全部必修课的课号。selectdistinct课号from必修课4、求1号课成果大于80分的学生的学号与成果,并按成果由高到低列出。select学号,成果from选课where课号二1and成果>80orderby成果desc5、列出非软件专业学生的名单。方法一:select姓名from学生where专业软件方法二:select姓名from学生wherenot专业二软件方法三:select姓名from学生where专业!二软件6、查询成果在70〜80分之间的学生选课得分状况方法一:select*from选课where成果>二70and成果<二80方法二:select*from选课where成果between70and80不在此范围内的查询:(留意写出和以下语句等价的语句)select*from选课where成果notbetween70and807、列出选修1号课或3号课的全体学生的学号和成果。方法一:select学号,成果from选课where课号二1or课号二3方法二:select学号,成果from选课where课号in(1,3)相反条件查询:select学号,成果from选课where课号notin(1,3)8、列出全部98级学生的学生成果状况。select*from选课where学号like98%select*from选课where学号like98 相反条件查询:select*from选课where学号notlike98%9、列出成果为空值(或不为空值)的学生的学号和课号。答案一:select学号,课号from选课where成果isnull答案二:select学号,课号from选课where成果isnotnull10、求出全部学生的总成果。selectsum(成果)as总成果from选课11、列出每个学生的平均成果。select学号,avg(成果)as平均成果from选课groupby学号12、列出各科的平均成果、最高成果、最低成果和选课人数。select课号,avg(成果)as平均成果,max(成果)as最高分,;min(成果)as最低分,count(学号)as选课人数from选课groupby课号二、连接杳询(一)简洁连接1、列出选修1号课的学生姓名与成果。select姓名,成果from学生,选课where学生,学号二选课,学号and课号二12、列出选修1号课的学生的学号、姓名与成果。select学生.学号,姓名,成果from学生s,选课xwheres.学号二x.学号and课号二13、求出总分大于150的学生的学号、姓名与总成果。select学生.学号,姓名,sum(成果)as总成果from学生,选课;where学生.学号二选课.学号groupby选课.学号havingsum(成果)>150(二)自连接查询1、列出那些专业相同的学生相应的姓名与专业信息。selecta.姓名,b.姓名,专业from学生a,学生bwherea.学号学号anda.专业二b.专业2、求至少选修1号课和2号课的学生的学号。selectx.学号from选课x,选课ywherex.学号二y.学号andx.课号二1andy.课号二23、有以下表rate,dbf币种1代码c⑵、币种2代码c⑵、买入价n(8,4)、卖出价n(8,4)外汇汇率.dbf币种1c(4)、币种2c(4)、买入价n(8,4)、卖出价n(8,4)外汇代码.dbf外汇名称c(10)>外汇代码c(10)要求:将全部“外汇汇率”表中的数据插入rate表中并且依次不变,由于“外汇汇率”中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应当存放外币代码,所以插入时要做相应的改动,外币名称与外向代码的对应关系存储在“外汇代码”表中。selecta.外币代码as币种1代码,b.外币代码as币种2代码,;买入价,卖出价from外汇代码a,外汇汇率,外汇代码b;wherea.外币名称二外汇汇率.币种1andb.外币名称二外汇汇率.币种2intotablerate4、假定有“雇员”表(雇员号c(2),雇员姓名c(6),经理号c(2)),依据雇员关系列出上一级经理与其所领导的职员清单。(教案中的例题)select领导,s.雇员姓名,雇员,e.雇员姓名from雇员s,雇员ewheres.雇员号二e.经理(三)超连接1、列出选修1号课的学生姓名与成果。方法一:(运用简洁连接查询格式)select姓名,成果from学生,选课where学生,学号二选课,学号and课号二1方法二:(运用内部连接格式)select姓名,成果from学生innerjoin选课on学生.学号二选课.学号where课号二1方法三:内部连接的inner短语可以省略。(与方法二等价)select姓名,成果from学生join选课on学生.学号二选课.学号where课号二12、查询订货管理数据库中数据的仓库号、城市、供应商名和地址信J息、O方法一:运用简洁连接格式。select仓库.仓库号,城市,供应商名,地址from供应商,订购单,职工,仓库;where供应商.供应商号二订购单.供应商号and订购单,职工号二职工.职工号;and职工.仓库号二仓库.仓库号方法二:运用超连接的内部连接格式。(留意连接条件的依次)select仓库.仓库号,城市,供应商名,地址from供应商join订购单join职工join仓库;on职工.仓库号二仓库.仓库号on订购单.职工号二职工.职工号on供应商.供应商号二订购单.供应商号3、查询没有选修任何课程的学生姓名。方法一:运用嵌套查询select姓名from学生where学号notin(select学号from选课)方法二:运用超连接的右连接。select姓名from选课rightjoin学生on选课.学号二学生.学号where选课.学号<>学生.学号方法三:运用超连接的左连接。(留意表名依次和方法二的不同)select姓名from学生leftjoin选课on选课.学号二学生.学号where选课.学号<>学生.学号三、嵌套查询(一)一般嵌套与谓词exists1、列出选修汇编语言课的学生的学号。方法一:select学号from选课where课号二(select课号from课程where课名:汇编语言)方法二:运用谓词exists。留意和方法一格式上的不同。select学号from选课whereexist(select*from课程;where课名二汇编语言and选课.课号二课程.课号)2、求软件专业全部必修课的课程信息。方法一:select*from课程where课号in;(select课号from必修课where必修专业二软件)方法二:select*from课程whereexist(select*from必修课where必修专业二软件;and课程.课号二必修课.课号)(二)量词any、some、all1、求选修2号课的学生中,成果比选修1号课的最低成果要高的学生的学号和成果。方法一:select学号,成果from选课where课号二2and成果>;(selectmin(成果)from选课where课号=1)方法二:any等价于some,所以可将any换成some。篇三:sql语句强化练习题与答案sql语句强化练习题与答案一、简洁查询1、列出全部学生的信息。select*from学生2、列出软件专业全部学生的学号与姓名。select学号,姓名from学生where专业二软件3、列出全部必修课的课号。selectdistinct课号from必修课4、求1号课成果大于80分的学生的学号与成果,并按成果由高到低列出。select学号,成果from选课where课号二1and成果>80orderby成果desc5、列出非软件专业学生的名单。方法一:select姓名from学生where专业软件方法二:select姓名from学生wherenot专业二软件方法三:select姓名from学生where专业!二软件6、查询成果在70〜80分之间的学生选课得分状况方法一:select*from选课where成果>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信工程塔吊施工合同
- 影视基地车位租赁合同
- 二零二五年度建筑公司劳务输出服务合同3篇
- 2025年度学校开学前全面开荒保洁及卫生消毒服务合同3篇
- 二零二五年度抖音短视频内容合作与跨界营销合同3篇
- 二零二五年度专业调解机构打架斗殴调解合同范本3篇
- 二零二五年度房改房买卖合同法律适用研究2篇
- 2025版酒水行业智能仓储管理系统采购合同2篇
- 2025年度房屋联建与绿色建筑技术研发合同3篇
- 夜市摊租赁合同(二零二五年度)-文艺市集合作版
- 【MOOC】隧道工程-中南大学 中国大学慕课MOOC答案
- 红色经典影片与近现代中国发展学习通超星期末考试答案章节答案2024年
- 剧作策划与管理智慧树知到期末考试答案2024年
- 铁路基础知识考试题库500题(单选、多选、判断)
- 生物医学研究的统计学方法课后习题答案 2014 主编 方积乾
- 牛仔面料成本核算
- 加拿大矿业政策
- 客情关系的建立和维护
- 2022年合理使用抗生素试题
- 简单娱乐yy频道设计模板
- 110kV变压器保护整定实例
评论
0/150
提交评论