历年数据库查询.doc
《历年数据库查询.doc》由会员分享,可在线阅读,更多相关《历年数据库查询.doc(17页珍藏版)》请在咨信网上搜索。
1、第一题:(注:查询答案不唯一,尽供参考)设某商业集团中有若干公司,其人事数据库中有3个基本表:职工关系 EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和居住城市。工作关系 WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。公司关系 COMP(C#,CNAME,CITY,MGR_E#),其属性分别表示公司编号、公司名称、公司所在城市和公司经理的工号。1)用CREATE TABLE语句创建上述3个表,需指出主键和外键。CREATE TABLE EMP( E# CHAR(4) NOT NULL,ENAME CHAR
2、(8) NOT NULL,AGE SMALLINT,SEX CHAR(1),ECITY CHAR(20),PRIMARY KEY(E#)OR:CREATE TABLE EMP( E# CHAR(4) PRIMARY KEY,ENAME CHAR(8) NOT NULL,AGE SMALLINT,SEX CHAR(1),ECITY CHAR(20)CREATE TABLE COMP( C# CHAR(4) NOT NULL,CNAME CHAR(20) NOT NULL,CITY CHAR(20),MGR_E# CHAR(4),PRIMARY KEY(C#),FOREIGN KEY(MGR_E#
3、) REFERENCES EMP(E#)CREATE TABLE WORKS( E# CHAR(4) NOT NULL,C# CHAR(4) NOT NULL,SALARY SMALLINT,PRIMARY KEY(E#,C#),FOREIGN KEY(E#) REFERENCES EMP(E#),FOREIGN KEY(C#) REFERENCES COMP(C#)2)检索至少为两个公司工作的职工工号。SELECT X.E#FROM WORKS X, WORKS YWHERE X.E#= Y.E# AND X.C# != Y.C#3)检索与其经理居住在同一城市的职工的工号和姓名。SELECT
4、 A.E#, A.ENAMEFORM EMP A, WORKS B, COMP C, EMP DWHERE A.E#=B.E# AND B.C#=C.C# AND C.MGR_E#=D.E# AND A.ECITY=D.CITY4)检索职工人数最多的公司的编号和名称。SELECT C.C#, C,CNAMEFORM WORKS B,COMP CWHERE B.C#=C.C#GROUP BY C.C#HAVING COUNT(*)=ALL(SELECT COUNT(*)FROM WORKSGROUP BY C#)5)检索平均工资高于联华公司平均工资的公司的编号和名称。SELECT C.C#, C
5、.CNAMEFROM WORKS B, COMP CWHERE B.C#=C.C#GROUP BY C.C#HAVING AVG(SALARY)(SELECT AVG(SALARY)FROM WORKS B,COMP CWHERE B.C#=C.C# AND CNAME= 联华公司)6)为联华公司的职工加薪,月薪不超过3000元的职工加薪10%,超过3000元的职工加薪8%。UPDATE WORKS SET SALARY= SALARY*1.1 WHERE SALARY3000 AND C# IN (SELECT C#FROM COMPWHERE CNAME= 联华公司)7)在EMP表和WOR
6、KS表中删除年龄大于60岁的职工的有关元组。DELETE FROM WORKS WHERE E# IN (SELECT E# FROM EMP WHERE AGE60)DELETE FROM EMP WHERE AGE60第二题: 设一个电影资料数据库有3个基本表:电影表Movie、演员表Actor和电影主演表Acts。Movie关系的属性包括电影名、制作年份、长度等;Actor关系的属性包括演员名、地址、性别、生日等;电影主演表Acts包括电影名、制作年份、演员姓名等。用SQL实现如下操作: (1)为1990-1999年制作的电影建立视图;CREATE VIEW MyearASSELECT
7、* FROM MovieWHERE Year1990 AND Year1999(2)对视图进行如下查询:长度超过120分钟的电影名称和演员姓名。SELECT Title,actorNameFROM Myear,ActsWHERE Acts.MovieTitle=Myear.Title AND Length120(3) 要求为Movie关系增加一个属性MovieDirector(电影导演)。用SQL实现这种关系模式的改变。ALTER TABLE MovieADD MovieDirector CHAR(20)(4)把电影“我的世界”的长度改为109分钟;UPDATE Movie SET Lengt
8、h109WHERE Title=我的世界(5)删除1940年以前制作的所有电影记录以及电影主演记录。DELETE FROM MovieWHERE Year1940;DELETE FROM ActsWHERE MovieYear1940(6)所有同名电影各自的电影名和制作年份;SELECT M1Title,M1Year,M2YearFROM Movie AS M1,Movie AS M2WHERE M1TitleM2Title AND M1YearM2Year(7)向演员关系Actor中插入一个演员记录,具体的分量由自己指定。INSERT INTO Actor(Name,Gender)VALUE
9、S (秀兰邓波儿,F)(8)统计1999年制作电影的平均长度和最短长度;SELECT AVG(Length),MIN(Length)FROM MovieWHEREYear1999第一题:设某商业集团中有若干公司,其人事数据库中有3个基本表:职工关系 EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和居住城市。工作关系 WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。公司关系 COMP(C#,CNAME,CITY,MGR_E#),其属性分别表示公司编号、公司名称、公司所在城市和公司经理的工号。1)建立一个有关女
10、职工信息的视图EMPWOMAN,属性包括(E#,ENAME,C#,CNAME,SALARY)。CREATE VIEW EMPWOMANAS SELECT A.E#,A.ENAME, C.C#,CNAME, SALARY FROM EMP A, WORKS B, COMP C WHERE A.E#=B.E# AND B.C#=C.C# AND SEX=F2)检索居住城市和公司所在城市相同的职工工号和姓名。SELECT A.E#,A.ENAMEFROM EMP A, WORKS B,COMP CWHERE A.E#=B.E#, AND B.C#=C.C#, AND A.ECITY=C.CITY3)
11、假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数。显示(E#,NUM,SUMSALARY),分别表示工号、公司数目和工资总数。SELECT E#, COUNT(C#) AS SUM, SUM(SALARY) AS SUMSALARYFROM WORKSGROUP BY E#4)检索工资高于其所在公司职工平均工资的所有职工的工号和姓名。SELECT A.E#, A.ENAMEFROM EMP A, WORKS BWHERE A.E#=B.E# AND SALARY(SELECT AVG(SALARY)FROM WORKS CWHERE C.C#=B.C#)5)检索工资总额最小的
12、公司的编号和名称。SELECT C.C#, C,CNAMEFORM WORKS B,COMP CWHERE B.C#=C.C#GROUP BY C.C#HAVING SUM(SALARY)SX.AGEANDSX.SN张三;(3) 查询课程名和直接先行课的课程名以及间接先行课的课程名。SELECTCN,CX.CN,CY.CNFROMC,CASCX,CASCYWHEREC.PCNO=CX.CNOANDCX.PCNO=CY.CNO;(4) 将选修课程“DB的学生学号SNO,姓名SN建立视图SDB。CREATE VIEW SDB AS SELCET SNO,SN FROMSWHERE SNO INSE
13、LECT SNOFROMS CWHERE CNO IN(SELECT CNOFROM CWHERE CNDB)(5) 选修课程“DB”的学生姓名SN。答案一SELECT SNFROM SWHERE SNO INSELECT SNOFROM SCWHERE CNO IN(SELECT CNOFROM CWHER ECNDB);答案二SELECT SNFROM S,SC,CWHERE S.SNOSC.SNOAND SC.CNOC.CNOAND C.CNDB;(6) 所有学生都选修的课程名CN。SELECTCNFROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXIST
14、S(SELECT*FROMSCWHERESNO=S.SNOANDCNO=C.CNO);答案二SELECTCNFROMCWHERECNOIN(SELECTCNOFROMSCGROUPBYCNOHAVINGCOUNT(*)=(SELECTCOUNT(*)FROMS);第一题: 对于教学数据库中的4个关系:教师关系 T(T#, TNAME, TITLE)课程关系 C(C#, CNAME, T#)学生关系 S(S#, SNAME, AGE, SEX)选课关系 SC(S#, C#,SCORE)其中,T中T#为主键;C中C#为主键,T#为外键;S中S#为主键;SC中S#, C#为主键且同时为外键。用SQL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 数据库 查询
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。